docker-stacks/stacks/wallabag/docker-compose.yml
knight 4dbb0b9180 Initial commit: 23 docker stacks for GitOps deployment
Stacks included:
- Infrastructure: traefik, authentik, gitea, registry, watchtower, dockge
- Monitoring: smokeping, changedetection
- Apps: ghost, gollum, wallabag, radicale, invidious, xbackbone, filebrowser, syncthing, zerotier
- Custom: obsidian-tools, memento, perilous, ramz, bookclub, brain

🤖 Generated with Claude Code
2025-12-31 13:29:43 -05:00

56 lines
1.7 KiB
YAML

services:
wallabag:
image: wallabag/wallabag:latest
container_name: wallabag
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${WALLABAG_DB_ROOT_PASSWORD}
- SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=3306
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=${WALLABAG_DB_PASSWORD}
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- SYMFONY__ENV__MAILER_HOST=127.0.0.1
- SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=wallabag@${DOMAIN}
- SYMFONY__ENV__DOMAIN_NAME=https://wallabag.${DOMAIN}
expose:
- 80
networks:
- web
- default
volumes:
- ./images:/var/www/wallabag/web/assets/images
labels:
- "traefik.enable=true"
- "traefik.http.routers.wallabag.entrypoints=https"
- "traefik.http.routers.wallabag.rule=Host(`wallabag.${DOMAIN}`)"
- "traefik.http.routers.wallabag.tls.certresolver=http"
- "traefik.http.middlewares.wallabag-header.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.routers.wallabag.middlewares=wallabag-header"
depends_on:
- db
- redis
db:
image: mariadb
container_name: wallabag-db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${WALLABAG_DB_ROOT_PASSWORD}
- MARIADB_AUTO_UPGRADE=1
volumes:
- ./data:/var/lib/mysql
redis:
image: redis:alpine
container_name: wallabag-redis
restart: unless-stopped
networks:
web:
external: true