52 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
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:15
 | 
						|
    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:
 |