Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e0ea0fa
feat: :art: improve version naming
MrWeez Jul 2, 2025
b5a1d77
revert: :rewind: restore version order in the configuration because o…
MrWeez Jul 2, 2025
8998fa2
feat: :arrow_up: Docusaurus v3
MrWeez Jul 2, 2025
f50feb9
fix: :pencil2: typo
MrWeez Jul 2, 2025
57a1322
fix: :rotating_light: building
MrWeez Jul 2, 2025
89a3c7c
feat: :truck: even better version naming
MrWeez Jul 4, 2025
81b0389
fix: :green_heart: build errors
MrWeez Jul 7, 2025
57ccea6
feat: :sparkles: 1.1.x docs
MrWeez Jul 7, 2025
f147cb9
feat: :memo: move intro page to docs root and build fix
MrWeez Jul 7, 2025
a8bbaf1
feat: :sparkles: new intro page
MrWeez Jul 7, 2025
39ea520
refactor: :recycle: new structure (WIP)
MrWeez Jul 7, 2025
bc4f2ee
feat: :sparkles: refactored install guide & switch from .md to .mdx
MrWeez Jul 8, 2025
e5c3134
chore: :fire: delete random css file
MrWeez Jul 8, 2025
a0cffe6
chore: :bug: added git checkout for old update guides
MrWeez Jul 8, 2025
476c303
feat: :memo: move 1.1.x docs to current and current to archived version
MrWeez Jul 8, 2025
d13014f
feat: :white_check_mark: update guide
MrWeez Jul 8, 2025
81c22f8
chore: :green_heart: fix typos and build
MrWeez Jul 8, 2025
d672e0f
feat: :sparkles: basic configuration guide
MrWeez Jul 8, 2025
74e1f77
feat: :hammer: backup, migrate, themes and uninstall guides
MrWeez Jul 8, 2025
0256c60
feat: :sparkles: contributing section
MrWeez Jul 8, 2025
2e48ab8
chore: :lipstick: minor changes before release
MrWeez Jul 8, 2025
1f1dbb8
fix: :memo: move extra dependencies to main install list
MrWeez Jul 8, 2025
5854226
Merge pull request #141 from MrWeez/feat/1.1-and-refactor
MrWeez Jul 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Dependencies
/node_modules
node_modules

# Production
build

# Generated files
.docusaurus
Expand All @@ -16,4 +18,7 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea/.name

tmp

process.yml
10 changes: 10 additions & 0 deletions docs/contributing/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"position": 4,
"label": "Contributing",
"collapsed": true,
"link": {
"type": "generated-index",
"title": "Contributing",
"description": "Want to support the project but not sure how? We'll tell you all about it here"
}
}
49 changes: 49 additions & 0 deletions docs/contributing/donating.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
sidebar_position: 1
---

# Donating

Love using ctrlpanel.gg? Support us to keep improving! 🌟 Enjoy perks like premium support & a unique Discord role! 💖
[Patreon](https://www.patreon.com/1day2die) | [Ko-fi](https://ko-fi.com/1day2die) | [GitHub Sponsors](https://github.com/sponsors/Ctrlpanel-gg)

Your donations go a long way in helping us develop CtrlPanel, but please don't feel obligated to.<br/>
I will try to mention any donation above 1€ in our Discord server.

## Donator Roles

**Sapphire** >= 100 $/€<br/>
**Ruby Supporter** >= 50 $/€<br/>
**Gold Supporter** >= 25 $/€<br/>
**Silver Supporter** >= 15 $/€<br/>
**Bronze Supporter** >= 5 $/€ <br/>
_All Donators with a supporter role will also have access to a Donators Only channel and premium support_

_Please notify me when you've donated, so I can respond quicker :) **1day2die**_

## Donators

❤️ Ruby Supporter: **p47thiccbolt#4836**<br/>
❤️ Ruby Supporter: **BolverBlitz#4881**<br/>
❤️ Ruby Supporter: **ccrs#4120**<br/>
❤️ Ruby Supporter: **Timo#4042**<br/>
❤️ Ruby Supporter: **Sir Maddigan#0243**<br/>

💛 Gold Supporter: **Wynn#1000**<br/>
💛 Gold Supporter: **dragocz#0191**<br/>
💛 Gold Supporter: **Niktix#3749** [TIX-Hosting](https://tix-hosting.net/)<br/>
💛 Gold Supporter: **DerHorschty#3855**<br/>

🤍 Silver Supporter: **TheFrodoDE#1337**<br/>

🤎 Bronze Supporter: **Grosenberger#5417**<br/>
🤎 Bronze Supporter: **ojacz#5091**<br/>
🤎 Bronze Supporter: **Coconut#7171**<br/>
🤎 Bronze Supporter: **Bazim#0485**<br/>
🤎 Bronze Supporter: **Jonas.#9915**<br/>
🤎 Bronze Supporter: **Vysoký Vagón#3796**<br/>
🤎 Bronze Supporter: **I got 2 phones#8225**<br/>
🤎 Bronze Supporter: **2IceCube#7992**<br/>
🤎 Bronze Supporter: **ᴅᴏᴍɪɴɪᴋ#1005**<br/>
🤎 Bronze Supporter: **DWAA#1660**<br/>
🤎 Bronze Supporter: **ukcai#7121**<br/>
17 changes: 17 additions & 0 deletions docs/contributing/partners.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
sidebar_position: 4
---

# Partners

We are deeply grateful to the organizations and individuals whose generous support makes this project possible. Below is a showcase of our partners, each displayed with a banner or logo and a brief description. Their support enables us to maintain and improve our project infrastructure and develop new features and enhancements.

Thank you to all our partners for believing in our vision and helping us drive innovation forward!

## ZAP-Hosting

[![ZAP-Hosting Gameserver and Web Hosting](https://zap-hosting.com/interface/download/images.php?type=affiliate&id=421578)](https://zap-hosting.com/a/29b1c37a4f87bde5463afe8a0f49d129b16ccf9e)

Looking for reliable, high-quality hosting? ZAP-Hosting offers rentals or lifetime purchases of game servers, Linux and Windows VPS, root servers, and dedicated servers.

Use promo code **[CtrlPanel](https://zap-hosting.com/CtrlPanel)** when placing your order to receive a **20% discount**. Get started [here](https://zap-hosting.com/CtrlPanel).
16 changes: 16 additions & 0 deletions docs/contributing/reporting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
sidebar_position: 2
---

# Reporting

## Found a bug you can consistently reproduce?
We'd love for you to report it on [Issues](https://github.com/Ctrlpanel-gg/panel/issues) section of our panel repository. We aim to fix all bugs based on priority.

## Have an idea for a useful or interesting feature?
Please create an [Issue](https://github.com/Ctrlpanel-gg/panel/issues) on our GitHub as well!

## Discovered a critical vulnerability?
Report it immediately via [GitHub Security Advisories](https://github.com/Ctrlpanel-gg/panel/security/advisories/new). Also, send a direct message to 1day2dir.
We strongly ask you to keep the vulnerability confidential until the official fix and announcement are released.
Avoid discussing vulnerabilities in public chats, and also do not create reports on public trackers!
9 changes: 9 additions & 0 deletions docs/contributing/translating.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 3
---

# Translating

:::warning
We are currently planning a complete refactor and improvement of the translation system, which will be released with version 1.2.0. Because of this, this section is not in use for now.
:::
10 changes: 10 additions & 0 deletions docs/development/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"position": 4,
"label": "Development",
"collapsed": true,
"link": {
"type": "generated-index",
"title": "Development",
"description": "цфв"
}
}
30 changes: 30 additions & 0 deletions docs/development/back-to-release.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
sidebar_position: 3
---

# Rolling back to the release version

Unfortunately, it highly depends on the situation.

If you just installed the **development** version, have a database backup, and want to roll back do this:

```bash
git checkout main
git pull
```

Next, follow the instructions for [restoring](/docs/guides/backup?db-state=existing#how-to-restore-database-backup) your database backup.

---

If a stable release is available and you're on development but behind, run:
```bash
git checkout main
git pull
```

and follow the default upgrade guide

## Still need help?

Reach out to us on [our Discord](https://discord.gg/ctrlpanel-gg-787829714483019826) server in the support channel! We'll do our best to help you.
9 changes: 9 additions & 0 deletions docs/development/install.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 1
---

# Installing development version

:::info
Version 1.2.0 is in early development, and there are no changes compared to the [standard installation](/docs/getting-started/install) process. You can simply follow the regular installation guide, just clone the `development` branch instead of `main`.
:::
82 changes: 82 additions & 0 deletions docs/development/upgrade.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
sidebar_position: 2
---

# Update to development version

:::danger
Always backup your database and any code changes before updating! It's better to not need them, than to lose everything when you do. We've explained how to do that [here](/docs/guides/backup).

Without a backup, you won't be able to roll back without losing all your data.
:::

## Enable Maintenance Mode

```bash
cd /var/www/ctrlpanel
php artisan down
```

## Switching to development branch

```bash
git checkout development
```

## Pulling the New Files

```bash
git stash
git pull
chmod -R 755 /var/www/ctrlpanel
```

## Update Dependencies

```bash
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
```

## Updating the Database

```bash
php artisan migrate --seed --force
```

## Clear Compiled Template Cache

```bash
php artisan view:clear
php artisan config:clear
```

## Set Permissions

```bash
# If using NGINX or Apache (not on CentOS):
chown -R www-data:www-data /var/www/ctrlpanel/

# If using NGINX on CentOS:
chown -R nginx:nginx /var/www/ctrlpanel/

# If using Apache on CentOS
chown -R apache:apache /var/www/ctrlpanel/
```

## Restarting Queue Workers

After every update, you should restart the queue worker to ensure that the new code is loaded in and used.

```bash
php artisan queue:restart
```

## Disable Maintenance Mode

```bash
php artisan up
```

## Disclaimer

If you notice any bugs 🐛 or would like something to be improved or added, let us know by making a [GitHub Issue](https://github.com/CtrlPanel-gg/panel/issues/new/choose).<br /> **For any major security risk, create** [GitHub vulnerability report](https://github.com/Ctrlpanel-gg/panel/security/advisories/new). Avoid discussing vulnerabilities in public chats, and also do not create reports on public trackers!
10 changes: 10 additions & 0 deletions docs/getting-started/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"position": 2,
"label": "Getting started",
"collapsed": false,
"link": {
"type": "generated-index",
"title": "Getting started",
"description": "Alright, let's get started with the installation and configuration!"
}
}
107 changes: 107 additions & 0 deletions docs/getting-started/_parts/install/os/debian.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

import ComposerInstall from '../steps/composer-install.mdx';
import DownloadFiles from '../steps/download-files.mdx';
import DatabaseSetup from '../steps/database-setup.mdx';
import ComposerPackages from '../steps/composer-packages.mdx';
import StorageSymlink from '../steps/storage-symlink.mdx';

import NginxSSL from '../steps/webserver/deb-nginx-ssl.mdx';
import NginxNoSSL from '../steps/webserver/deb-nginx-no-ssl.mdx';
import ApacheSSL from '../steps/webserver/deb-apache-ssl.mdx';
import ApacheNoSSL from '../steps/webserver/deb-apache-no-ssl.mdx';

import QueueListeners from '../steps/queue-listeners.mdx';
import NavigateToWeb from '../steps/navigate-to-web.mdx';

## Dependencies

- PHP `8.2`, `8.3` (recommended) or `8.4` with the following extensions: `cli`, `gd`, `mysql`, `mbstring`, `bcmath`, `xml` or `dom`, `curl`, `zip`, `openssl`, `PDO`, `tokenizer`, `redis`, `intl` and `fpm` if you are planning to use NGINX.
- MySQL `5.7.22` or higher (MySQL `8` recommended) **or** MariaDB `10.2` or higher.
- Redis (`redis-server`)
- A web server (Apache, NGINX, etc.)
- `curl`
- `git`
- `composer`

### Dependency Installation

_If you already have Pterodactyl installed, please check that you also install PHP 8.3!_

The commands below are simply an example of how you might install these dependencies. Please consult with your operating system's package manager to determine the correct packages to install.

```bash
# Install basic dependencies to continue
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg lsb-release

# Add additional repositories for PHP
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

# Add Redis official APT repository
curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

# MariaDB repo setup script
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash

# Update repositories list
apt update -y

# Install Dependencies
apt install -y php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip,intl,redis} mariadb-server nginx git redis-server
```

If you are using redis for your system, you will want to make sure to enable that it will start on boot. You can do that by running the following command:

```bash
systemctl enable --now redis-server
```

<ComposerInstall />

<DownloadFiles />

<DatabaseSetup />

<ComposerPackages />

<StorageSymlink />

## Web Server Configuration

This is a basic NGINX configuration. Please replace any `<domain>` placeholders with your domain name being used. Since NGINX is being used, we will put our configuration (`ctrlpanel.conf`) in `/etc/nginx/sites-available/`, or — if on CentOS, `/etc/nginx/conf.d/.`

### Setting up the Web Server

<Tabs>
<TabItem value="nginx-ssl" label="Nginx With SSL" default>
<NginxSSL />
</TabItem>
<TabItem value="nginx-no-ssl" label="Nginx Without SSL">
<NginxNoSSL />
</TabItem>
<TabItem value="apache-ssl" label="Apache With SSL">
<ApacheSSL />
</TabItem>
<TabItem value="apache-nossl" label="Apache Without SSL">
<ApacheNoSSL />
</TabItem>
</Tabs>

### Set Permissions

The last step in the installation process is to set the correct permissions on the Panel files so that the web server can
use them correctly.

```bash
chown -R www-data:www-data /var/www/ctrlpanel/
chmod -R 755 storage/* bootstrap/cache/
```

<QueueListeners />

<NavigateToWeb />

export const toc = []
Loading