docker-compose.swarm.yml
version: '3'
services:
mysql:
image: oshp/database:develop
networks:
- traefik-net
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: headers
MYSQL_USER: mysql
MYSQL_PASSWORD: password
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
memory: 200M
oshp:
image: oshp/secureheaders:4.0.0
networks:
- traefik-net
environment:
REDIS_HOST: redis
REDIS_TTL: 86400
MYSQL_HOST: mysql
SENTRY_ENABLED: 'True'
NEW_RELIC_LICENSE_KEY: ''
deploy:
labels:
- traefik.enable=true
- traefik.backend=oshp
- traefik.port=5000
- traefik.backend.loadbalancer.method=drr
- traefik.frontend.rule=Host:oshp.bsecteam.com,PathPrefix:/
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
memory: 100M
update_config:
parallelism: 1
delay: 20s
traefik:
image: traefik:alpine
networks:
- traefik-net
command:
- --accesslog
- --api
- --api.dashboard
- --api.statistics
- --api.statistics.recenterrors=10
- --docker.swarmmode
- --docker
- --docker.domain=bsecteam.com
- --docker.watch=true
- --docker.exposedbydefault=false
ports:
- 80:80
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
deploy:
replicas: 1
restart_policy:
condition: any
resources:
limits:
memory: 50M
placement:
constraints:
- node.role == manager
redis:
image: redis:alpine
networks:
- traefik-net
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
memory: 5M
networks:
traefik-net:
driver: overlay