deployment/stacks/miniflux.yml

73 lines
1.5 KiB
YAML

version: '3.4'
services:
app:
image: 'miniflux/miniflux:2.0.36'
command: '/usr/bin/miniflux -c /etc/miniflux.conf'
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class.miniflux==true'
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.miniflux.rule=Host(`nws.rustybever.be`)'
- 'traefik.http.routers.miniflux.tls=true'
- 'traefik.http.routers.miniflux.tls.certresolver=letsEncrypt'
- 'traefik.http.services.miniflux.loadbalancer.server.port=8080'
configs:
- source: miniflux_v1
target: /etc/miniflux.conf
environment:
- 'ADMIN_PASSWORD_FILE=/run/secrets/miniflux_admin_password'
networks:
- default
- public
secrets:
- miniflux_admin_password
db:
image: 'postgres:14.2-alpine'
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class.miniflux==true'
environment:
- 'POSTGRES_DB=miniflux'
- 'POSTGRES_USER=miniflux'
- 'POSTGRES_PASSWORD=miniflux'
volumes:
- 'db-data:/var/lib/postgresql/data'
reddit:
image: 'johnny5w/reddit-top-rss:latest'
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class.miniflux==true'
configs:
miniflux_v1:
external: true
networks:
public:
external: true
secrets:
miniflux_admin_password:
external: true
volumes:
db-data: