|
|
@@ -0,0 +1,48 @@
|
|
|
+version: '3.3'
|
|
|
+services:
|
|
|
+ traefik:
|
|
|
+ image: "traefik:v2.3"
|
|
|
+ container_name: traefik
|
|
|
+ command:
|
|
|
+ - "--providers.docker=true"
|
|
|
+ - "--providers.docker.exposedbydefault=false"
|
|
|
+ - "--entrypoints.websecure.address=:443"
|
|
|
+ - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
|
|
+ - "--certificatesresolvers.myresolver.acme.email=postmaster@example.com"
|
|
|
+ - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
|
|
+ depends_on:
|
|
|
+ - miniflux
|
|
|
+ ports:
|
|
|
+ - "443:443"
|
|
|
+ volumes:
|
|
|
+ - "./letsencrypt:/letsencrypt"
|
|
|
+ - "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
|
+ miniflux:
|
|
|
+ image: miniflux/miniflux:latest
|
|
|
+ container_name: miniflux
|
|
|
+ depends_on:
|
|
|
+ - db
|
|
|
+ expose:
|
|
|
+ - "8080"
|
|
|
+ environment:
|
|
|
+ - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
|
|
+ - RUN_MIGRATIONS=1
|
|
|
+ - CREATE_ADMIN=1
|
|
|
+ - ADMIN_USERNAME=admin
|
|
|
+ - ADMIN_PASSWORD=test123
|
|
|
+ - BASE_URL=https://miniflux.example.org
|
|
|
+ labels:
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.http.routers.miniflux.rule=Host(`miniflux.example.org`)"
|
|
|
+ - "traefik.http.routers.miniflux.entrypoints=websecure"
|
|
|
+ - "traefik.http.routers.miniflux.tls.certresolver=myresolver"
|
|
|
+ db:
|
|
|
+ image: postgres:latest
|
|
|
+ container_name: postgres
|
|
|
+ environment:
|
|
|
+ - POSTGRES_USER=miniflux
|
|
|
+ - POSTGRES_PASSWORD=secret
|
|
|
+ volumes:
|
|
|
+ - miniflux-db:/var/lib/postgresql/data
|
|
|
+volumes:
|
|
|
+ miniflux-db:
|