ConvoyPanel/docker-compose.yml

77 lines
No EOL
1.9 KiB
YAML

services:
caddy:
build:
context: ./dockerfiles/caddy
args:
- APP_ENV=$APP_ENV
restart: unless-stopped
volumes:
- .:/var/www/
- ./dockerfiles/caddy/data/config:/config
- ./dockerfiles/caddy/data/data:/data
ports:
- 80:80
- 443:443
- 6001:6001
env_file: .env
php:
build:
context: ./dockerfiles/php
args:
- WITH_XDEBUG=$DEV_XDEBUG
- APP_ENV=$APP_ENV
restart: unless-stopped
volumes:
- .:/var/www/
expose:
- 9000
env_file: .env
workspace:
build: ./dockerfiles/workspace
tty: true
ports:
- 3000:3000
volumes:
- .:/var/www/
redis:
image: redis:7.0.4-alpine3.16
restart: unless-stopped
command: redis-server --save 20 1 --loglevel notice --requirepass ${REDIS_PASSWORD}
ports:
- 6379:6379
workers:
build: ./dockerfiles/workers
tty: true
restart: unless-stopped
working_dir: /var/www/
volumes:
- .:/var/www/
soketi:
restart: unless-stopped
image: 'quay.io/soketi/soketi:1.4-16-alpine'
expose:
- 6001
# Do not expose the metrics API to the internet in a production environment
# - '${SOKETI_METRICS_SERVER_PORT:-9601}:9601'
env_file: .env
environment:
- SOKETI_DEBUG=${DEBUG}
- SOKETI_DEFAULT_APP_ID=${PUSHER_APP_ID}
- SOKETI_DEFAULT_APP_KEY=${PUSHER_APP_KEY}
- SOKETI_DEFAULT_APP_SECRET=${PUSHER_APP_SECRET}
# - SOKETI_HOST='0.0.0.0'
# - SOKETI_PORT=${PUSHER_PORT}
# - METRICS_SERVER_PORT=${METRICS_SERVER_PORT-9601}
# - SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES=false
database:
image: mysql:8.0.29
restart: unless-stopped
volumes:
- ./dockerfiles/mysql/data:/var/lib/mysql/
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}