services: traefik: image: traefik:v2.0 container_name: "traefik" command: - "--api.insecure=true" - "--providers.docker" - "--providers.docker.exposedbydefault=false" - "--entrypoints.http.address=:80" - "--entrypoints.https.address=:443" - "--serverstransport.insecureskipverify=true" - "--certificatesresolvers.myresolver.acme.httpchallenge=true" - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=http" - "--certificatesresolvers.myresolver.acme.email=acme@example.com" - "--certificatesresolvers.myresolver.acme.storage=/acme.json" labels: - "traefik.enable=true" - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:[a-z-.]+}`)" - "traefik.http.routers.http-catchall.entrypoints=http" - "traefik.http.routers.http-catchall.middlewares=redirect-to-https" - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" ports: - "80:80" - "443:443" - "127.0.0.1:8088:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock - /opt/docker/traefik/acme.json:/acme.json - /etc/resolv.conf:/etc/resolv.conf logging: driver: json-file options: max-size: "10m" max-file: "5" later42: build: . container_name: later42 image: dntskdev/later42:master restart: always environment: SECRET: "ahth3chaquodahh6que8thie1EThe5Iephich8eikei2Uojaemae6gee0kaet4aush2aoqu0ruL9oGhaiR9luu7cohreH6lebo0v" DB_TYPE: postgres DB_HOST: later42db DB_NAME: later42 DB_USER: later42 DB_PASS: later42 DOMAIN: later42.com REDIS_URL: redis://redis:6379 logging: driver: json-file options: max-size: "10m" max-file: "5" labels: - "traefik.enable=true" - "traefik.http.routers.later42-opt.rule=Host(`later42.com`)" - "traefik.http.routers.later42-opt.entrypoints=https" - "traefik.http.routers.later42-opt.tls.certresolver=myresolver" - "extdns.cf.later42.hostname=later42.com" later42_tasks: build: . container_name: later42_tasks image: dntskdev/later42:master restart: always command: celery -A later42 worker --loglevel=info environment: SECRET: "ahth3chaquodahh6que8thie1EThe5Iephich8eikei2Uojaemae6gee0kaet4aush2aoqu0ruL9oGhaiR9luu7cohreH6lebo0v" DB_TYPE: postgres DB_HOST: later42db DB_NAME: later42 DB_USER: later42 DB_PASS: later42 DOMAIN: later42.com REDIS_URL: redis://redis:6379 logging: driver: json-file options: max-size: "10m" max-file: "5" later42db: container_name: later42db image: postgres restart: always environment: POSTGRES_USER: later42 POSTGRES_PASSWORD: later42 POSTGRES_DB: later42 POSTGRES_HOST_AUTH_METHOD: trust volumes: - /opt/docker/later42/db:/var/lib/postgresql/data logging: driver: json-file options: max-size: "10m" max-file: "5" redis: image: "redis:alpine" hostname: redis container_name: redis ports: - "6379:6379" volumes: - /opt/docker/redis-data:/var/lib/redis environment: - REDIS_REPLICATION_MODE=master