VM-Pelican🔗
Debina 13 server
Basic ssh setup tehtud, et saaks ligi VS Code-iga
Kasutasin Pelican enda setup juhendit Pelican Docs - Getting Started
Panel🔗
Getting Started🔗
PHP install käsk mis ei ole kirjas lehel (installin php8.4 kuna uuemat pole hetkel saadaval Debianis):
apt install php8.4 php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,sqlite3,fpm}
Veel asjad mida vaja:
apt install curl tar unzip
Webserver Configuration🔗
Kasutan Caddy kuna seda oli lihtsam mul aru saada / muuta.
Debianis ei ole piisavalt uus Caddy, selleks pidi lisama juurde Repo, ei mäleta mis käsk selleks, kasutasin AI, aga uuem Caddy on vajalik kuna vanem ei toeta 'trusted_proxies' valikut, aga mul seda vaja.
apt install caddy
Caddyfile
Ei ole päris sama asi nagu on Pelican lehel kuna kasutan NPM ehk "double proxy" koos Caddy-ga
{
servers :80 {
trusted_proxies static 192.168.1.22
timeouts {
read_body 120s
}
}
}
# Using :80 allows Caddy to listen on HTTP without interfering with NPM's SSL
pelican.timmo.ee:80 {
root * /var/www/pelican/public
# Crucial: This tells PHP that the original request was HTTPS
# even though it's arriving at Caddy via HTTP
php_fastcgi unix//run/php/php8.4-fpm.sock {
env HTTPS on
env HTTP_X_FORWARDED_PROTO https
env HTTP_PROXY ""
env PHP_VALUE "upload_max_filesize = 100M
post_max_size = 100M"
read_timeout 300s
dial_timeout 300s
write_timeout 300s
}
file_server
# Keep your existing logic
request_body {
max_size 100m
}
respond /.ht* 403
log {
output file /var/log/caddy/pelican.log {
roll_size 100MiB
roll_keep_for 7d
}
level INFO
}
}
Panel Setup🔗
Peale esimest käsku on vaja muuta ka .env faili:
.env fail
Kindlasti peab paika panema kaks asja:
Web-Installer🔗
Et sa saaksid ligi veebilehele peale Caddyfile või .env faili muutmist võib sul vaja olla Laravel-i cache tühjendamine
Kui seda ei tee, siis muudatused nendes failides ei lähe Live-i
AIO käsk:
php artisan optimize:clear
Eraldi käsud:
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear
Caddyfile-i muutes on vaja seda kasutada:
systemctl restart caddy
Wings🔗
System Requirements
Ei pruugi töötada Virtuozzo, OpenVZ (või OVZ), või LXC sees
Soovitatud kasutada VM-i
Installing Wings🔗
Kasutasin juhendit suht 1:1
https://pelican.dev/docs/wings/install
Node / Server🔗
Ausalt ei mäleta, aga see suht ezpz
NB! Ära unusta lisada IP + port mille kaudu server suhtleb
Ma ei mäleta kas seda lisada Node või Server valikus...
Vana info🔗
Vana setup, ei meeldinud
Tegin eraldi konto nimega pelican ja selle alt asjad jooksma kuna root kontoga mingi asi läks katki kui üritasin Pelican-is luua serverit, mingi teema docker-i ja õigustega
Pelican konto all eraldi pelican nimeline kaust veel ja sai pandud 777, et kas panel või docker ei hakkaks vinguma õiguste üle, ei mäleta kumb
Panel + Wings setup🔗
Kasutasin väga palju seda juhist, NPM osa savi
See on tegelt out-dated kuna seal ei kasutata Node loomisel valikut "HTTPS with (reverse) proxy", ta piltidel seda valikut ei ole
Compose fail
services:
panel:
image: ghcr.io/pelican-dev/panel:latest
container_name: pelican-panel
restart: always
stdin_open: true
tty: true
ports:
- "8080:80"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./panel/data:/pelican-data
- ./panel/logs:/var/www/html/storage/logs
- ./panel/Caddyfile:/etc/caddy/Caddyfile
environment:
TZ: Europe/Tallinn
APP_TIMEZONE: Europe/Tallinn
APP_ENV: production
APP_URL: "https://pelican.timmo.ee"
ADMIN_EMAIL: "pelican.admin@timmo.ee"
TRUSTED_PROXIES: 192.168.1.22
networks:
- pelican
wings:
image: ghcr.io/pelican-dev/wings:latest
container_name: pelican-wings
restart: unless-stopped
ports:
- "2022:2022"
- "8443:443"
stdin_open: true
tty: true
environment:
TZ: Europe/Tallinn # Replace with your time zone
APP_TIMEZONE: Europe/Tallinn # Replace with your time zone
WINGS_UID: 1000
WINGS_GID: 1000
WINGS_USERNAME: pelican # Change if you want
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/containers/:/var/lib/docker/containers/"
- "/etc/pelican/:/etc/pelican/"
- "/var/lib/pelican/:/var/lib/pelican/"
- "/var/log/pelican/:/var/log/pelican/"
- "/tmp/pelican/:/tmp/pelican/"
- "/etc/ssl/certs:/etc/ssl/certs:ro"
networks:
- wings1
networks:
pelican:
name: pelican
wings1:
name: wings1
driver: bridge
ipam:
config:
- subnet: 172.50.0.0/16
driver_opts:
com.docker.network.bridge.name: wings1
Ära Wings kohe tööle pane, vajab eraldi config-i mida tekitab osaliselt Panel
Vaja oli ka Caddyfile-i, et oleks ligipääs võimalik NPM või muu reverse proxy kaudu
Caddyfile sisu
Failipuu umbes selline
Node (Wings) loomine🔗
Selle loomise ajal saad basic conf-i mida tahetakse, et sisestad, aga sellest ei piisa
Ilmselt sellepärast, et Wings ei ole tegelt üleni docker peale kolitud, tegelevad alles sellega
Lingis soovitab mees lisada docker > network osa eraldi ja noh, ilma selleta ei hakkaks asi töölegi tegelt
Network osa lisa
docker:
network:
interface: 172.50.0.1
dns:
- 192.168.1.1 # Replace with your default gateway if different
- 1.0.0.1
name: wings1
ispn: false
driver: bridge
network_mode: wings1
is_internal: false
enable_icc: true
network_mtu: 1500
interfaces:
v4:
subnet: 172.50.0.0/16
gateway: 172.50.0.1
v6:
subnet: fdba:17c8:6c94::/64
gateway: fdba:17c8:6c94::1011
allowed_mounts: []
allowed_origins: []
allow_cors_private_network: false
ignore_panel_config_updates: false
Ligipääs🔗
External ligipääs peamiselt läbi Cloudflared tunneli, pidi eraldi conf faili juurde lisama info, et mc.timmo.ee läheb tcp://ip:port
Backup läbi PlayitGG teenuse, CF on parem kuna ping on 2x - 3x madalam