Files
anonymous_github/docker-compose.yml
T

106 lines
2.2 KiB
YAML

services:
anonymous_github:
logging:
driver: json-file
options:
max-size: "25m"
max-file: "4"
build: .
init: true
stop_grace_period: 45s
read_only: true
tmpfs:
- /tmp:size=2147483648,mode=1777
pids_limit: 128
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
restart: always
image: anonymous-github-go:${GO_IMAGE_TAG:-local}
ports:
- ${EXPOSED_PORT:-5000}:5000
deploy:
resources:
limits:
memory: 3G
pids: 128
env_file:
- ${APP_ENV_FILE:-./.env}
volumes:
- ${REPOSITORIES_DIR:-./repositories}:/app/repositories/
environment:
- PORT=5000
- REDIS_HOSTNAME=redis
- DB_HOSTNAME=mongodb
- GOMEMLIMIT=768MiB
- ANONYMIZATION_MEMORY_MB=512
healthcheck:
test:
- CMD
- /usr/local/bin/anonymous-server
- healthcheck
interval: 5s
timeout: 5s
retries: 3
start_period: 20s
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: "redis:alpine"
restart: always
ports:
- 127.0.0.1:6379:6379
healthcheck:
test:
- CMD
- redis-cli
- ping
interval: 10s
timeout: 10s
retries: 5
mongodb:
image: ${MONGO_IMAGE:-mongo:latest}
restart: on-failure
environment:
MONGO_INITDB_ROOT_USERNAME: $DB_USERNAME
MONGO_INITDB_ROOT_PASSWORD: $DB_PASSWORD
volumes:
- mongodb_data_container:/data/db
ports:
- ${MONGO_BIND_ADDRESS:-127.0.0.1}:27017:27017
command: --quiet
healthcheck:
test:
- CMD
- mongosh
- --eval
- "db.adminCommand('ping')"
interval: 10s
timeout: 10s
retries: 5
mongodb-backup:
image: tiredofit/db-backup
links:
- mongodb
env_file:
- ${APP_ENV_FILE:-./.env}
volumes:
- ./db_backups:/backup
environment:
- DB_TYPE=mongo
- DB_HOST=mongodb
- DB_DUMP_FREQ=120
- DB_CLEANUP_TIME=500
- COMPRESSION=XZ
- DB_USER=$DB_USERNAME
- DB_PASS=$DB_PASSWORD
restart: always
volumes:
mongodb_data_container: