Files
mash-lab/docker/app/docker-compose.yml

184 lines
4.8 KiB
YAML

# Stack - App
services:
# Bookstack - Wiki média
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- APP_URL=${APP_URL}
- APP_KEY=${APP_KEY}
- DB_HOST=${BOOKSTACK_DB_HOST}
- DB_USERNAME=${BOOKSTACK_DB_USER}
- DB_PASSWORD=${BOOKSTACK_DB_PASSWORD}
- DB_DATABASE=${BOOKSTACK_DB_DATABASE}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- MAIL_USER=${MAIL_USERNAME}
- MAIL_PASS=${MAIL_PASSWORD}
- MAIL_FROM=${MAIL_FROM}
- MAIL_FROM_NAME=${MAIL_FROM_NAME}
- TRUSTED_PROXIES=**
volumes:
- /srv/docker/app/bookstack:/config
ports:
- 7661:443
restart: unless-stopped
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "curl", "-f", "https://localhost"]
interval: 1m30s
timeout: 10s
retries: 3
# Grocy - GEstion des stocks
grocy:
image: lscr.io/linuxserver/grocy:latest
container_name: grocy
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- /srv/docker/app/grocy:/config
ports:
- 7662:80
restart: unless-stopped
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 1m30s
timeout: 10s
retries: 3
# Homepage WAN
homepage-cockpit:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage-cockpit
restart: unless-stopped
networks:
- frontend
ports:
- 7665:3000
environment:
- HOMEPAGE_ALLOWED_HOSTS=*
volumes:
- /srv/docker/app/homepage-cockpit/images:/app/public/images
- /srv/docker/app/homepage-cockpit/icons:/app/public/icons
- /srv/docker/app/homepage-cockpit/config:/app/config
- /srv/docker/app/homepage-cockpit/logs:/app/config/logs
- /var/run/docker.sock:/var/run/docker.sock:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 1m30s
timeout: 10s
retries: 3
# Homepage LAN
homepage-dashboard:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage-dashboard
restart: unless-stopped
networks:
- frontend
ports:
- 7664:3000
environment:
- HOMEPAGE_ALLOWED_HOSTS=*
volumes:
- /srv/docker/app/homepage-dashboard/images:/app/public/images
- /srv/docker/app/homepage-dashboard/icons:/app/public/icons
- /srv/docker/app/homepage-dashboard/config:/app/config
- /srv/docker/app/homepage-dashboard/logs:/app/config/logs
- /var/run/docker.sock:/var/run/docker.sock:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 1m30s
timeout: 10s
retries: 3
# Mealie - Carnet de recette
mealie:
image: hkotel/mealie:latest
container_name: mealie
restart: unless-stopped
environment:
- DB_TYPE=mysql
- DB_HOST=${MEALIE_DB_HOST}
- DB_PORT=${MEALIE_DB_PORT}
- DB_USER=${MEALIE_DB_USER}
- DB_PASSWORD=${MEALIE_DB_PASSWORD}
- DB_NAME=${MEALIE_DB_DATABASE}
- TZ=${TZ}
networks:
- frontend
- backend
ports:
- 7670:9000
volumes:
- /srv/docker/app/mealie:/app/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/health"]
interval: 1m30s
timeout: 10s
retries: 3
# Paperless OCR et gestion de documents
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless
restart: unless-stopped
networks:
- frontend
- backend
ports:
- 7667:8000
environment:
- PAPERLESS_DBHOST=${PAPERLESS_DB_HOST}
- PAPERLESS_DBNAME=${PAPERLESS_DB}
- PAPERLESS_DBUSER=${PAPERLESS_DB_USER}
- PAPERLESS_DBPASS=${PAPERLESS_DB_PASS}
- PAPERLESS_REDIS=${REDIS_URL}
volumes:
- /srv/docker/app/paperless/data/media:/usr/src/paperless/media
- /srv/docker/app/paperless/data/consume:/usr/src/paperless/consume
- /srv/docker/app/paperless/data/data:/usr/src/paperless/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 1m30s
timeout: 10s
retries: 3
# Homebox - Gestion des collections
homebox:
image: ghcr.io/sysadminsmedia/homebox:latest
container_name: homebox
restart: unless-stopped
networks:
- frontend
- backend
ports:
- 7663:7745
volumes:
- /srv/docker/app/homebox:/config/etc
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7745"]
interval: 1m30s
timeout: 10s
retries: 3
networks:
frontend:
external: true
backend:
external: true