dotfiles/docker/tt-rss/docker-compose.yml

91 lines
2.3 KiB
YAML

version: "3"
services:
db:
container_name: tt-rss-db
image: postgres:12-alpine
restart: unless-stopped
volumes:
- /docker/tt-rss/db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
networks:
- tt-rss
app:
container_name: tt-rss-app
image: cthulhoo/ttrss-fpm-pgsql-static
restart: unless-stopped
environment:
- DB_TYPE=pgsql
- DB_HOST=tt-rss-db
- DB_NAME=${POSTGRES_USER}
- DB_USER=${POSTGRES_USER}
- DB_PASS=${POSTGRES_PASSWORD}
- OWNER_UID=${OWNER_UID}
- OWNER_GID=${OWNER_GID}
- SELF_URL_PATH=${SELF_URL_PATH}
volumes:
- /docker/tt-rss/app:/var/www/html
depends_on:
- tt-rss-db
networks:
- tt-rss
updater:
container_name: tt-rss-updater
image: cthulhoo/ttrss-fpm-pgsql-static
restart: unless-stopped
environment:
- DB_TYPE=pgsql
- DB_HOST=tt-rss-db
- DB_NAME=${POSTGRES_USER}
- DB_USER=${POSTGRES_USER}
- DB_PASS=${POSTGRES_PASSWORD}
- OWNER_UID=${OWNER_UID}
- OWNER_GID=${OWNER_GID}
- SELF_URL_PATH=${SELF_URL_PATH}
volumes:
- /docker/tt-rss/app:/var/www/html
depends_on:
- tt-rss-app
command: /updater.sh
networks:
- tt-rss
web:
container_name: tt-rss-web
image: cthulhoo/ttrss-web
restart: unless-stopped
ports:
- ${HTTP_PORT}:2015
volumes:
- /docker/tt-rss/app:/var/www/html:ro
depends_on:
- tt-rss-app
networks:
- tt-rss
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.tt-rss-redirect.entrypoints=http"
- "traefik.http.routers.tt-rss-redirect.rule=Host(`rss.reekynet.com`)"
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
- "traefik.http.routers.tt-rss-redirect.middlewares=http2https"
- "traefik.http.routers.tt-rss.entrypoints=https"
- "traefik.http.routers.tt-rss.rule=Host(`rss.reekynet.com`)"
- "traefik.http.routers.tt-rss.tls=true"
- "traefik.http.routers.tt-rss.tls.certresolver=http"
- "traefik.http.routers.tt-rss.service=tt-rss"
- "traefik.docker.network=proxy"
- "traefik.http.services.tt-rss.loadbalancer.server.port=8280"
networks:
tt-rss:
external: false
proxy:
external: true