Files
sides/docker-compose.yml
root d6193f0e5b fix(infra): resolve F-10 — add queue worker container for Laravel job processing
Separate sides-queue service using same Dockerfile, runs
php artisan queue:work with auto-restart. Uses database driver
with --sleep=3 --tries=3 --max-time=3600.
2026-06-03 00:39:54 +08:00

113 lines
2.5 KiB
YAML

services:
app:
container_name: sides-app
build:
context: .
dockerfile: Dockerfile
volumes:
- ./src:/var/www/html
depends_on:
- postgres
networks:
- sides_net
restart: unless-stopped
environment:
- TZ=${TZ:-Asia/Kuala_Lumpur}
queue:
container_name: sides-queue
build:
context: .
dockerfile: Dockerfile
entrypoint: ["php", "artisan"]
command: ["queue:work", "--sleep=3", "--tries=3", "--max-time=3600"]
volumes:
- ./src:/var/www/html
depends_on:
- postgres
networks:
- sides_net
restart: unless-stopped
environment:
- TZ=${TZ:-Asia/Kuala_Lumpur}
postgres:
container_name: sides-db
image: postgres:18.1
restart: always
volumes:
- ./docker/postgres/data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- PGDATA=/var/lib/postgresql/data
- TZ=${TZ:-Asia/Kuala_Lumpur}
ports:
- "5432:5432"
networks:
- sides_net
web:
container_name: sides-web
image: nginx:stable-alpine
restart: always
ports:
- "8080:80"
- "8443:443"
volumes:
- ./src:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
networks:
- sides_net
environment:
- TZ=${TZ:-Asia/Kuala_Lumpur}
pgadmin:
image: dpage/pgadmin4
container_name: sides-pgAdmin
environment:
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL}
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD}
- TZ=${TZ:-Asia/Kuala_Lumpur}
ports:
- "5050:80"
depends_on:
- postgres
volumes:
- pgadmin_data:/var/lib/pgadmin
networks:
- sides_net
restart: unless-stopped
dozzle:
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 777:8080
environment:
- DOZZLE_ENABLE_ACTIONS=true
- DOZZLE_ENABLE_SHELL=true
- TZ=${TZ:-Asia/Kuala_Lumpur}
filebrowser:
image: gtstef/filebrowser:stable
container_name: quantum-prod
ports:
- 8900:80
user: "0:0"
restart: unless-stopped
volumes:
- ./filebrowser-data:/home/filebrowser/data
- ./filebrowser-files:/files
- /root/sides:/sides
environment:
- FILEBROWSER_CONFIG=data/config.yaml
networks:
sides_net:
name: sides_net
volumes:
pgadmin_data: