Files
drip/docker-compose.yml

68 lines
1.4 KiB
YAML

services:
server:
build:
context: .
dockerfile: deployments/Dockerfile
args:
VERSION: ${VERSION:-dev}
GIT_COMMIT: ${GIT_COMMIT:-unknown}
image: drip-server:${VERSION:-latest}
container_name: drip-server
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "8080:8080"
- "20000-20100:20000-20100"
volumes:
- drip-data:/app/data
# Mount TLS certificates if not using auto-TLS
# - ./certs:/app/data/certs:ro
environment:
TZ: ${TZ:-UTC}
command: >
server
--domain ${DOMAIN:-tunnel.localhost}
--port ${PORT:-8080}
${TLS_CERT:+--tls-cert /app/data/certs/fullchain.pem}
${TLS_KEY:+--tls-key /app/data/certs/privkey.pem}
${AUTO_TLS:+--auto-tls}
${AUTH_TOKEN:+--token ${AUTH_TOKEN}}
networks:
- drip-net
logging:
driver: json-file
options:
max-size: 10m
max-file: "3"
deploy:
resources:
limits:
cpus: '2'
memory: 512M
reservations:
cpus: '0.5'
memory: 128M
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:${PORT:-8080}/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 5s
volumes:
drip-data:
driver: local
networks:
drip-net:
driver: bridge