# Stack homepage : SPA Vue + Miniflux (RSS) + Postgres # # Lance avec : make up # Stop avec : make down # Logs avec : make logs # # Configure les variables dans .env (voir .env.example). services: homepage: build: context: . args: VITE_BACKEND_URL: ${VITE_BACKEND_URL:-http://localhost:8082} image: homepage:latest container_name: homepage restart: unless-stopped ports: - "${HOMEPAGE_PORT:-8080}:80" backend: build: ./backend image: homepage-backend:latest container_name: homepage-backend restart: unless-stopped ports: - "${BACKEND_PORT:-8082}:8080" environment: API_TOKEN: ${API_TOKEN:-} volumes: - backend-data:/data miniflux: image: miniflux/miniflux:latest container_name: miniflux restart: unless-stopped depends_on: miniflux-db: condition: service_healthy environment: DATABASE_URL: postgres://miniflux:${MINIFLUX_DB_PASSWORD}@miniflux-db/miniflux?sslmode=disable RUN_MIGRATIONS: "1" CREATE_ADMIN: "1" ADMIN_USERNAME: ${MINIFLUX_ADMIN_USER} ADMIN_PASSWORD: ${MINIFLUX_ADMIN_PASSWORD} ports: - "${MINIFLUX_PORT:-8081}:8080" miniflux-db: image: postgres:16-alpine container_name: miniflux-db restart: unless-stopped environment: POSTGRES_USER: miniflux POSTGRES_PASSWORD: ${MINIFLUX_DB_PASSWORD} POSTGRES_DB: miniflux volumes: - miniflux-db-data:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "miniflux"] interval: 10s timeout: 5s retries: 5 start_period: 20s volumes: miniflux-db-data: backend-data: