| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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_IMAGE:-miniflux/miniflux:latest}
- container_name: miniflux
- depends_on:
- db:
- condition: service_healthy
- 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
- healthcheck:
- test: ["CMD", "pg_isready", "-U", "miniflux"]
- interval: 10s
- start_period: 30s
- volumes:
- miniflux-db:
|