oshp/headers

View on GitHub
docker-compose.swarm.yml

Summary

Maintainability
Test Coverage
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