pelican-panel-mirror/compose.yml
Josh 6a4963200c
Rootless Docker/Optimized build (#932)
* Rootless Dockerfile/Optimized build

Add unneeded files to .dockerignore
Split Dockerfile into more stages to allow Composer/Yarn to run concurrently
Don't log supervisord to a file, as file logging in a Docker container makes no sense
Redirect process output to container output for log processors
Run all processes as non-root
Minimize files with write permission for non-root user
Move docker folder out of .github, as it has nothing to do with GitHub

* Remove install-php-extensions utility after use and name final stage

* Test arm64 runner

* Allow Docker workflow caching multi-arch separately

* Fix Docker publish workflow branches

* Move Caddyfile/crontab config into docker directory, remove redundant supervisord user

* Further restrict permissions

* Supervisord logs
2025-01-23 11:01:14 +02:00

58 lines
1.4 KiB
YAML

x-common:
panel:
&panel-environment
APP_URL: "https://localhost" # can be set to 'http://localhost' on port 80 only
ADMIN_EMAIL: "USEYOUROWNEMAILHERE@example.com"
APP_DEBUG: "false"
APP_ENV: "production"
mail:
&mail-environment
MAIL_DRIVER: "log"
# MAIL_HOST: ""
# MAIL_PORT: ""
# MAIL_FROM: ""
# MAIL_USERNAME: ""
# MAIL_PASSWORD: ""
# MAIL_ENCRYPTION: ""
#
# ------------------------------------------------------------------------------------------
# DANGER ZONE BELOW
#
# The remainder of this file likely does not need to be changed. Please only make modifications
# below if you understand what you are doing.
#
services:
panel:
image: ghcr.io/pelican-dev/panel:latest
build: .
restart: always
networks:
- default
ports:
- "80:80"
- "443:443"
# - "9000:9000" # enable when not using caddy to be abel to reach php-fpm
extra_hosts:
- "host.docker.internal:host-gateway" # shows the panel on te internal docker network as well. usually '172.17.0.1'
volumes:
- pelican-data:/pelican-data
- pelican-logs:/var/www/html/storage/logs
environment:
<<: [*panel-environment, *mail-environment]
XDG_DATA_HOME: /pelican-data
# SKIP_CADDY: true # enable when not using caddy.
volumes:
pelican-data:
pelican-logs:
networks:
default:
ipam:
config:
- subnet: 172.20.0.0/16