# 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