firefish/docker-compose.example.yml

79 lines
1.6 KiB
YAML

version: "3"
services:
web:
image: registry.firefish.dev/firefish/firefish:latest
container_name: firefish_web
restart: unless-stopped
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
ports:
- "3000:3000"
networks:
- calcnet
# - web
environment:
NODE_ENV: production
NODE_OPTIONS: --max-old-space-size=3072
volumes:
- ./custom:/firefish/custom:ro
- ./files:/firefish/files
- ./.config:/firefish/.config:ro
healthcheck:
test: curl -f http://localhost:3000 || exit 1
interval: 5s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 4096M
redis:
restart: unless-stopped
image: docker.io/redis:7.0-alpine
container_name: firefish_redis
networks:
- calcnet
volumes:
- ./redis:/data
healthcheck:
test: redis-cli ping
interval: 5s
timeout: 5s
retries: 5
# deploy:
# resources:
# limits:
# memory: 200M
db:
restart: unless-stopped
image: docker.io/groonga/pgroonga:3.1.8-alpine-16-slim
container_name: firefish_db
networks:
- calcnet
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: pg_isready --user="$${POSTGRES_USER}" --dbname="$${POSTGRES_DB}"
interval: 5s
timeout: 5s
retries: 5
# deploy:
# resources:
# limits:
# memory: 200M
networks:
calcnet:
# web:
# external:
# name: web