selfhost/wallabag/docker-compose.yaml

68 lines
1.9 KiB
YAML

services:
app:
image: wallabag/wallabag
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_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=${MYSQL_USER}
- SYMFONY__ENV__DATABASE_PASSWORD=${MYSQL_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}
networks:
- web
- wallabag
volumes:
- ${VOLUMES_PATH}/wallabag/images:/var/www/wallabag/web/assets/images
healthcheck:
test: ["CMD", "curl" ,"--fail", "http://localhost/api/info"]
interval: 10s
timeout: 3s
labels:
- "traefik.enable=true"
- "traefik.http.routers.wallabag.rule=Host(`wallabag.${DOMAIN}`)"
- "traefik.http.routers.wallabag.entrypoints=websecure"
- "traefik.http.routers.wallabag.tls.certresolver=netcup"
- "traefik.http.routers.wallabag.tls.options=intermediate@file"
- "docker.group=wallabag"
depends_on:
- db
- redis
db:
image: mariadb:${MARIADB_VERSION}
restart: unless-stopped
environment:
- MARIADB_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
networks:
- wallabag
volumes:
- /var/dockervolumes/wallabag/db:/var/lib/mysql
labels:
- "docker.group=wallabag"
redis:
image: redis:7.2.4
restart: unless-stopped
networks:
- wallabag
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
labels:
- "docker.group=wallabag"
networks:
web:
external: true
wallabag: