diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..b8673ae --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,74 @@ +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: + 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 + 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" + + 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"