diff --git a/docker/app/docker-compose.yml b/docker/app/docker-compose.yml new file mode 100644 index 0000000..bfd7ca5 --- /dev/null +++ b/docker/app/docker-compose.yml @@ -0,0 +1,157 @@ +# Stack - App +services: + # BookStack – documentation + 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/data/bookstack:/var/www/bookstack/storage + - /srv/docker/app/logs/bookstack:/var/log/bookstack + - /srv/docker/app/conf/bookstack:/config + ports: + - 7661:443 + restart: always + networks: + - frontend + - backend + + # Grocy – gestion stock/repas + grocy: + image: lscr.io/linuxserver/grocy:latest + container_name: grocy + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - /srv/docker/app/data/grocy:/config + - /srv/docker/app/logs/grocy:/var/log/grocy + ports: + - 7662:80 + restart: unless-stopped + + # HomeBox – gestion collection + homebox: + image: ghcr.io/sysadminsmedia/homebox:latest + container_name: homebox + restart: unless-stopped + networks: + - frontend + - backend + ports: + - "7663:7745" + volumes: + - /srv/docker/app/data/homebox:/config + - /srv/docker/app/logs/homebox:/var/log/homebox + - /srv/docker/app/conf/homebox:/etc/homebox + + # Homepage – Dashboard 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/data/homepage-dashboard:/config + - /srv/docker/app/logs/homepage-dashboard:/var/log/homepage + - /srv/docker/app/conf/homepage-dashboard/images:/app/public/images + - /srv/docker/app/conf/homepage-dashboard/icons:/app/public/icons + - /srv/docker/app/conf/homepage-dashboard/config:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + + # Homepage – Cockpit 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/data/homepage-cockpit:/config + - /srv/docker/app/logs/homepage-cockpit:/var/log/homepage + - /srv/docker/app/conf/homepage-cockpit/images:/app/public/images + - /srv/docker/app/conf/homepage-cockpit/icons:/app/public/icons + - /srv/docker/app/conf/homepage-cockpit/config:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + # Mealie – gestion recettes + 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/data/mealie:/app/data + - /srv/docker/app/logs/mealie:/var/log/mealie + - /srv/docker/app/conf/mealie:/etc/mealie + + # Paperless – gestion 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} + + volumes: + - /srv/docker/app/data/paperless/media:/usr/src/paperless/media + - /srv/docker/app/data/paperless/consume:/usr/src/paperless/consume + - /srv/docker/app/data/paperless/data:/usr/src/paperless/data + - /srv/docker/app/logs/paperless:/var/log/paperless + - /srv/docker/app/conf/paperless:/etc/paperless + +networks: + frontend: + external: true + backend: + external: true