mourningdove/docker-compose.yml
2026-05-24 01:03:05 +00:00

131 lines
4 KiB
YAML

version: "3.9"
services:
web:
container_name: web-dw
build:
context: /home/dw/dw/etc/docker/web
dockerfile: Dockerfile
ports:
- "3237:80"
env_file:
- /home/dw/dw/etc/docker/web.env
volumes:
- /home/dw/dw/etc/docker/web/files/config-private.pl:/dw/etc/config-private.pl
- /home/dw/dw/etc/docker/web/files/config-local.pl:/dw/etc/config-local.pl
- /home/dw/dw/etc/docker/web/files/config.pl:/dw/etc/config.pl
- /home/dw/dw/etc/texttool.pl:/dw/etc/texttool.pl
- /home/dw/dw/etc/build-static.sh:/dw/etc/build-static.sh
- /home/dw/dw/cgi-bin/LJ/Userpic.pm:/dw/cgi-bin/LJ/Userpic.pm
#- /home/dw/dw/views:/dw/views
- /home/dw/dw/ext/dw-nonfree/views/index.tt.text.local:/dw/ext/dw-nonfree/views/index.tt.text.local
- /home/dw/dw/cgi-bin/DW/TaskQueue.pm:/dw/cgi-bin/DW/TaskQueue.pm
- /home/dw/dw/cgi-bin/DW/TaskQueue/LocalDisk.pm:/dw/cgi-bin/DW/TaskQueue/LocalDisk.pm
- /home/dw/dw/var/taskqueue:/dw/var/taskqueue
- /home/dw/dw/blobimages:/dw/var/blobimages
- /home/dw/dw/bin/dw-send-email:/dw/bin/dw-send-email
- /home/dw/dw/bin/worker-manager:/dw/bin/worker-manager
- /home/dw/dw/etc/docker/worker/files/workers.conf:/dw/etc/workers.conf
- /home/dw/dw/htdocs/stc/gradation/gradation.css:/dw/htdocs/stc/gradation/gradation.css
- /home/dw/dw/htdocs/scss/skins/gradation/_gradation-base.scss:/dw/htdocs/scss/skins/gradation/_gradation-base.scss
- /home/dw/dw/cgi-bin/DW/SiteScheme.pm:/dw/cgi-bin/DW/SiteScheme.pm
- /home/dw/dw/cgi-bin/DW/SiteScheme.pm:/dw/ext/dw-nonfree/cgi-bin/DW/Hooks/SiteScheme.pm
- /home/dw/dw/htdocs/img/profile_icons:/dw/htdocs/img/profile_icons
- /home/dw/dw/htdocs/img/external:/dw/htdocs/img/external
- /home/dw/dw/cgi-bin/DW/BlobStore/S3.pm:/dw/cgi-bin/DW/BlobStore/S3.pm
- /home/dw/dw/garage/data:/mnt/data
#- /home/dw/dw/etc/docker/web/config/etc/apache2/envvars:/home/dw/dw/etc/apache2/envvars
depends_on:
mysql:
condition: service_healthy
memcached:
condition: service_started
worker:
container_name: worker-dw
build:
context: /home/dw/dw/etc/docker/worker
dockerfile: Dockerfile
command: /dw/bin/worker-manager --debug
volumes:
- /home/dw/dw/etc/docker/web/files/config-private.pl:/dw/etc/config-private.pl
- /home/dw/dw/etc/docker/web/files/config-local.pl:/dw/etc/config-local.pl
- /home/dw/dw/etc/docker/web/files/config.pl:/dw/etc/config.pl
- /home/dw/dw/bin/worker-manager:/dw/bin/worker-manager
- /home/dw/dw/etc/docker/worker/files/workers.conf:/dw/etc/workers.conf
- /home/dw/dw/cgi-bin/DW/TaskQueue.pm:/dw/cgi-bin/DW/TaskQueue.pm
- /home/dw/dw/cgi-bin/DW/TaskQueue/LocalDisk.pm:/dw/cgi-bin/DW/TaskQueue/LocalDisk.pm
- /home/dw/dw/var/taskqueue:/dw/var/taskqueue
depends_on:
mysql:
condition: service_healthy
lock:
condition: service_started
lock:
container_name: lock-dw
build:
context: /home/dw/dw/etc/docker/worker
dockerfile: Dockerfile
command: /dw/bin/ddlockd
environment:
- PERL5LIB=/dw/extlib/lib/perl5
memcached:
container_name: memcached-dw
image: memcached:latest
command:
- --conn-limit=1024
- --memory-limit=64
- --threads=4
ports:
- "11311:11211"
garage:
image: dxflrs/garage:v2.2.0
container_name: garage
network_mode: host
volumes:
- ./garage.toml:/etc/garage.toml
- ./meta:/var/lib/garage/meta
- ./data:/var/lib/garage/data
mysql:
container_name: dw-mysql
build:
context: /home/dw/dw/etc/docker/mysql-build
dockerfile: Dockerfile
env_file:
- .env
command: --sql_mode=""
volumes:
- ./mysql25:/var/lib/mysql
- /home/dw/dw/etc/docker/cnf/my.cnf/my.cnf:/etc/my.cnf:ro
ports:
- "33061:3306"
healthcheck:
test: ["CMD", "ls"]
start_period: 10s
interval: 5s
timeout: 5s
retries: 3