Skip to content

Commit cfafd09

Browse files
authored
Merge pull request #134 from Scvtt/main
2 parents 64b8bc1 + fab130f commit cfafd09

File tree

2 files changed

+141
-1
lines changed

2 files changed

+141
-1
lines changed

docs/guides/easypanel.mdx

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# Easypanel
2+
3+
Pelican Panel is available as a pre-built Docker image through GitHub Packages. You can use either `ghcr.io/pelican-dev/panel:latest` for the latest stable release or `ghcr.io/pelican-dev/panel:main` which is automatically built from the main branch. This guide will walk you through deploying Pelican Panel using EasyPanel's custom service templates.
4+
5+
## Basic Setup with SQLite
6+
7+
For a basic setup using SQLite as the database, you can use the following service template:
8+
9+
```json
10+
{
11+
"services": [
12+
{
13+
"type": "app",
14+
"data": {
15+
"serviceName": "panel",
16+
"source": {
17+
"type": "image",
18+
"image": "ghcr.io/pelican-dev/panel:latest"
19+
},
20+
"env": "XDG_DATA_HOME: /pelican-data\nAPP_URL: \"https://$(EASYPANEL_DOMAIN)\"\nCADDY_URL: \"http://$(EASYPANEL_DOMAIN)\"",
21+
"domains": [
22+
{
23+
"host": "$(EASYPANEL_DOMAIN)",
24+
"port": 80
25+
}
26+
],
27+
"mounts": [
28+
{
29+
"type": "volume",
30+
"name": "pelican-data",
31+
"mountPath": "/pelican-data"
32+
},
33+
{
34+
"type": "volume",
35+
"name": "pelican-logs",
36+
"mountPath": "/var/www/html/storage/logs"
37+
},
38+
{
39+
"type": "file",
40+
"content": "{\n admin off\n auto_https off\n}\n\n{$CADDY_URL} {\n root * /var/www/html/public\n encode gzip\n\n php_fastcgi 127.0.0.1:9000\n file_server\n}",
41+
"mountPath": "/etc/caddy/Caddyfile"
42+
}
43+
]
44+
}
45+
}
46+
]
47+
}
48+
```
49+
50+
## Advanced Setup with MariaDB and Redis
51+
52+
For a more advanced setup using MariaDB and Redis, use this template:
53+
54+
```json
55+
{
56+
"services": [
57+
{
58+
"type": "app",
59+
"data": {
60+
"serviceName": "panel",
61+
"source": {
62+
"type": "image",
63+
"image": "ghcr.io/pelican-dev/panel:latest"
64+
},
65+
"env": "XDG_DATA_HOME: /pelican-data\nAPP_URL: \"https://$(EASYPANEL_DOMAIN)\"\nCADDY_URL: \"http://$(EASYPANEL_DOMAIN)\"",
66+
"domains": [
67+
{
68+
"host": "$(EASYPANEL_DOMAIN)",
69+
"port": 80
70+
}
71+
],
72+
"mounts": [
73+
{
74+
"type": "volume",
75+
"name": "pelican-data",
76+
"mountPath": "/pelican-data"
77+
},
78+
{
79+
"type": "volume",
80+
"name": "pelican-logs",
81+
"mountPath": "/var/www/html/storage/logs"
82+
},
83+
{
84+
"type": "file",
85+
"content": "{\n admin off\n auto_https off\n}\n\n{$CADDY_URL} {\n root * /var/www/html/public\n encode gzip\n\n php_fastcgi 127.0.0.1:9000\n file_server\n}",
86+
"mountPath": "/etc/caddy/Caddyfile"
87+
}
88+
]
89+
}
90+
},
91+
{
92+
"type": "mariadb",
93+
"data": {
94+
"serviceName": "panel-db",
95+
"password": "51e2a4d6e98b7c57f9b6"
96+
}
97+
},
98+
{
99+
"type": "redis",
100+
"data": {
101+
"serviceName": "panel-redis",
102+
"password": "69cbf211602afa32e194"
103+
}
104+
}
105+
]
106+
}
107+
```
108+
109+
## Installation Steps
110+
111+
1. In EasyPanel, create a new service using the `Create From Schema` option at the bottom of creating a new service
112+
2. Paste either the basic or advanced template JSON
113+
3. Click create to deploy panel
114+
115+
## Updating Domain Configuration
116+
117+
If you need to update your domain after initial deployment:
118+
119+
1. Update the domain in EasyPanel's domain settings
120+
2. Update the environment variables in your service configuration:
121+
```env
122+
APP_URL: "https://panel.example.com"
123+
CADDY_URL: "http://panel.example.com"
124+
```
125+
Note: Keep `CADDY_URL` as `http://` since EasyPanel handles SSL certificates and reverse proxy
126+
3. Redeploy the service to apply the changes
127+
128+
## Post-Installation
129+
130+
After deployment:
131+
132+
1. Access the installer at `https://panel.example.com/installer`
133+
2. Complete the installation process
134+
3. For the advanced setup, configure the following in the panel settings:
135+
- Database: Use the MariaDB credentials
136+
- Cache and Queue: Use the Redis credentials
137+
138+
:::note
139+
The first time the container starts after installing or updating, it will apply database migrations, which may take a few minutes. The panel will not be accessible during this process.
140+
:::

sidebars.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const sidebars: SidebarsConfig = {
4444
{
4545
type: 'category',
4646
label: 'Guides',
47-
items: ['guides/docker', 'guides/mounts', 'guides/ssl', 'guides/php-upgrade', 'guides/database-hosts', 'guides/uninstalling'],
47+
items: ['guides/docker', 'guides/mounts', 'guides/ssl', 'guides/php-upgrade', 'guides/database-hosts', 'guides/uninstalling', 'guides/easypanel',],
4848
},
4949
'troubleshooting',
5050
'comparison',

0 commit comments

Comments
 (0)