diff --git a/tt-rss/docker-compose.yaml b/tt-rss/docker-compose.yaml new file mode 100644 index 0000000..1c69547 --- /dev/null +++ b/tt-rss/docker-compose.yaml @@ -0,0 +1,90 @@ +services: + traefik: + image: traefik:v3.3 + container_name: traefik + restart: always + command: + - --api.insecure=false + - --providers.docker=true + - --providers.docker.exposedbydefault=false + - --entrypoints.web.address=:80 + - --entrypoints.web.http.redirections.entrypoint.to=websecure + - --entrypoints.web.http.redirections.entrypoint.scheme=https + - --entrypoints.websecure.address=:443 + - --certificatesresolvers.myresolver.acme.httpchallenge=true + - --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web + - --certificatesresolvers.myresolver.acme.email=norbert@tretkowski.de + - --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json + ports: + - 80:80 + - 443:443 + volumes: + - ./traefik/letsencrypt:/letsencrypt + - /var/run/docker.sock:/var/run/docker.sock:ro + + # see FAQ entry below if upgrading from a different PostgreSQL major version (e.g. 12 to 15): + # https://tt-rss.org/wiki/InstallationNotes/#i-got-the-updated-compose-file-above-and-now-my-database-keeps-restarting + db: + image: postgres:15-alpine + restart: unless-stopped + env_file: + - .env + environment: + - POSTGRES_USER=${TTRSS_DB_USER} + - POSTGRES_PASSWORD=${TTRSS_DB_PASS} + - POSTGRES_DB=${TTRSS_DB_NAME} + volumes: + - ./db:/var/lib/postgresql/data + + app: + image: cthulhoo/ttrss-fpm-pgsql-static:latest + restart: unless-stopped + env_file: + - .env + volumes: + - ./app:/var/www/html + - ./config.d:/opt/tt-rss/config.d:ro + depends_on: + - db + + optional, makes weekly backups of your install + backups: + image: cthulhoo/ttrss-fpm-pgsql-static:latest + restart: unless-stopped + env_file: + - .env + volumes: + - ./backups:/backups + - ./app:/var/www/html + depends_on: + - db + command: /opt/tt-rss/dcron.sh -f + + updater: + image: cthulhoo/ttrss-fpm-pgsql-static:latest + restart: unless-stopped + env_file: + - .env + volumes: + - ./app:/var/www/html + - ./config.d:/opt/tt-rss/config.d:ro + depends_on: + - app + command: /opt/tt-rss/updater.sh + + web-nginx: + image: cthulhoo/ttrss-web-nginx:latest + restart: unless-stopped + env_file: + - .env + ports: + - ${HTTP_PORT}:80 + labels: + - traefik.enable=true + - traefik.http.routers.web-nginx.rule=Host(`news.tretkowski.de`) + - traefik.http.routers.web-nginx.entrypoints=websecure + - traefik.http.routers.web-nginx.tls.certresolver=myresolver + volumes: + - ./app:/var/www/html:ro + depends_on: + - app