mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
fix remaining non-_dev stacks: bookstack, gitea, heimdall, invokeai, n8n, nextcloud, opencode, paperless, pihole, qbittorrent, stash
This commit is contained in:
+14
-20
@@ -1,12 +1,10 @@
|
||||
services:
|
||||
bookstack:
|
||||
image: ${BOOKSTACK_IMAGE:-solidnerd/bookstack:latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: ${BOOKSTACK_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- bookstack-storage:/var/www/bookstack/storage/uploads
|
||||
- bookstack-uploads:/var/www/bookstack/public/uploads
|
||||
- ${VOL_PATH}/bookstack/uploads:/var/www/bookstack/storage/uploads
|
||||
- ${VOL_PATH}/bookstack/public:/var/www/bookstack/public/uploads
|
||||
environment:
|
||||
- APP_KEY=${BOOKSTACK_APP_KEY:-APP_KEY}
|
||||
- APP_TIMEZONE=${BOOKSTACK_APP_TIMEZONE:-America/Vancouver}
|
||||
@@ -17,32 +15,28 @@ services:
|
||||
- DB_USERNAME=${BOOKSTACK_DB_USERNAME:-dbuser}
|
||||
- REVISION_LIMIT=${BOOKSTACK_REVISION_LIMIT:-false}
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- ${BOOKSTACK_PORT:-8080}:8080
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
mariadb:
|
||||
image: ${MARIADB_IMAGE:-mariadb:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${MARIADB_RESTART:-unless-stopped}
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
|
||||
environment:
|
||||
- MARIADB_DATABASE=${MARIADB_MARIADB_DATABASE:-bookstack}
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_MARIADB_ROOT_PASSWORD:-ChangeThisPassword}
|
||||
- MARIADB_USER=${MARIADB_MARIADB_USER:-dbuser}
|
||||
- MARIADB_PASSWORD=${MARIADB_MARIADB_PASSWORD:-AlsoChangeThisPassword}
|
||||
volumes:
|
||||
- mariadb-data:/var/lib/mysql
|
||||
- ${VOL_PATH}/bookstack/db:/var/lib/mysql
|
||||
environment:
|
||||
- MARIADB_DATABASE=${BOOKSTACK_DB_DATABASE:-bookstack}
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-ChangeThisPassword}
|
||||
- MARIADB_USER=${BOOKSTACK_DB_USERNAME:-dbuser}
|
||||
- MARIADB_PASSWORD=${BOOKSTACK_DB_PASSWORD:-AlsoChangeThisPassword}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
bookstack-php-config:
|
||||
bookstack-storage:
|
||||
bookstack-uploads:
|
||||
mariadb-data:
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
internal:
|
||||
internal:
|
||||
|
||||
+9
-10
@@ -1,18 +1,17 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
BOOKSTACK_IMAGE=solidnerd/bookstack:latest
|
||||
BOOKSTACK_RESTART=unless-stopped
|
||||
BOOKSTACK_PORT=8080
|
||||
MARIADB_IMAGE=mariadb:latest
|
||||
MARIADB_RESTART=unless-stopped
|
||||
MARIADB_ROOT_PASSWORD=ChangeThisPassword
|
||||
|
||||
# Bookstack
|
||||
BOOKSTACK_APP_KEY=APP_KEY
|
||||
BOOKSTACK_APP_TIMEZONE=America/Vancouver
|
||||
BOOKSTACK_APP_URL=http://localhost:8080
|
||||
BOOKSTACK_DB_DATABASE=bookstack
|
||||
BOOKSTACK_DB_HOST=mariadb:3306
|
||||
BOOKSTACK_DB_PASSWORD=dbpass
|
||||
BOOKSTACK_DB_USERNAME=dbuser
|
||||
BOOKSTACK_IMAGE=solidnerd/bookstack:latest
|
||||
BOOKSTACK_REVISION_LIMIT=false
|
||||
|
||||
# MariaDB
|
||||
MARIADB_IMAGE=mariadb:latest
|
||||
MARIADB_MARIADB_DATABASE=bookstack
|
||||
MARIADB_MARIADB_ROOT_PASSWORD=ChangeThisPassword
|
||||
MARIADB_MARIADB_USER=dbuser
|
||||
MARIADB_MARIADB_PASSWORD=AlsoChangeThisPassword
|
||||
|
||||
|
||||
+14
-20
@@ -1,12 +1,9 @@
|
||||
# Gitea
|
||||
|
||||
services:
|
||||
|
||||
gitea:
|
||||
image: ${GITEA_IMAGE}
|
||||
image: ${GITEA_IMAGE:-gitea/gitea:latest}
|
||||
restart: ${GITEA_RESTART:-always}
|
||||
volumes:
|
||||
- ${VOL_PATH}/gitea/gitea:/data
|
||||
- ${VOL_PATH}/gitea/data:/data
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
@@ -22,32 +19,29 @@ services:
|
||||
- GITEA__server__SSH_PORT=${GITEA_SSH_PORT:-22}
|
||||
- ENABLE_SWAGGER=true
|
||||
- MAX_RESPONSE_ITEMS=15
|
||||
|
||||
ports:
|
||||
- ${GITEA_HOST_SSH_PORT:-22}:${GITEA_SSH_PORT:-22}
|
||||
- ${GITEA_WEB_PORT:-3000}:3000
|
||||
- ${GITEA_SSH_PORT:-22}:22
|
||||
- ${GITEA_PORT:-3000}:3000
|
||||
networks:
|
||||
- proxy
|
||||
- db
|
||||
- internal
|
||||
depends_on:
|
||||
- gitea-db
|
||||
|
||||
gitea-db:
|
||||
image: ${MARIA_IMAGE:-mariadb:latest}
|
||||
restart: ${GITEA_RESTART:-always}
|
||||
image: ${MARIADB_IMAGE:-mariadb:latest}
|
||||
restart: ${MARIADB_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH}/gitea/gitea-db:/var/lib/mysql
|
||||
- ${VOL_PATH}/gitea/db:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MARIA_ROOT:-changeMe}
|
||||
MYSQL_USER: ${GITEA_DB_USER:-gitea}
|
||||
MYSQL_PASSWORD: ${GITEA_DB_PASS:-changeMe}
|
||||
MYSQL_DATABASE: ${GITEA_DB_NAME:-gitea}
|
||||
TZ: ${TZ:-America/Vancouver}
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-changeMe}
|
||||
- MARIADB_USER=${GITEA_DB_USER:-gitea}
|
||||
- MARIADB_PASSWORD=${GITEA_DB_PASS:-changeMe}
|
||||
- MARIADB_DATABASE=${GITEA_DB_NAME:-gitea}
|
||||
networks:
|
||||
- db
|
||||
- internal
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
db:
|
||||
driver: bridge
|
||||
internal:
|
||||
|
||||
+8
-9
@@ -1,20 +1,19 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
GITEA_IMAGE=gitea/gitea:latest
|
||||
GITEA_RESTART=always
|
||||
GITEA_PORT=3000
|
||||
GITEA_SSH_PORT=22
|
||||
MARIADB_IMAGE=mariadb:latest
|
||||
MARIADB_RESTART=unless-stopped
|
||||
MARIADB_ROOT_PASSWORD=changeMe
|
||||
|
||||
# Gitea
|
||||
GITEA_IMAGE=gitea/gitea:latest
|
||||
GITEA_DB_HOST=gitea-db:3306
|
||||
GITEA_DB_PASS=changeMe
|
||||
GITEA_DB_NAME=gitea
|
||||
GITEA_DB_USER=gitea
|
||||
GITEA_SSH_DOMAIN=git.example.com
|
||||
GITEA_SSH_PORT=22
|
||||
GITEA_HOST_SSH_PORT=22
|
||||
GITEA_WEB_PORT=3000
|
||||
GITEA_RESTART=always
|
||||
GITEA_ROOT_URL=https://git.example.com/
|
||||
GITEA_DOMAIN=git.example.com
|
||||
|
||||
# MariaDB
|
||||
TZ=America/Vancouver
|
||||
MARIA_IMAGE=mariadb:latest
|
||||
MARIA_ROOT=changeMe
|
||||
@@ -1,10 +1,9 @@
|
||||
# Heimdall
|
||||
services:
|
||||
heimdall:
|
||||
image: ${HEIMDALL_IMAGE}
|
||||
image: ${HEIMDALL_IMAGE:-linuxserver/heimdall:latest}
|
||||
restart: ${HEIMDALL_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-./data}/heimdall:/config
|
||||
- ${VOL_PATH}/heimdall:/config
|
||||
environment:
|
||||
- PGID=${HEIMDALL_PGID:-1000}
|
||||
- PUID=${HEIMDALL_PUID:-1000}
|
||||
|
||||
+4
-3
@@ -1,7 +1,8 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
HEIMDALL_IMAGE=linuxserver/heimdall:latest
|
||||
HEIMDALL_RESTART=unless-stopped
|
||||
VOL_PATH=/data
|
||||
HEIMDALL_PORT=8000
|
||||
HEIMDALL_PGID=1000
|
||||
HEIMDALL_PUID=1000
|
||||
HEIMDALL_PORT=8000
|
||||
TZ=America/Vancouver
|
||||
TZ=America/Vancouver
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
# InvokeAI Docker Compose
|
||||
services:
|
||||
invokeai:
|
||||
image: ${INVOKEAI_IMAGE:-ghcr.io/invoke-ai/invokeai:latest}
|
||||
restart: ${INVOKEAI_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/invokeai:/invokeai
|
||||
- ${VOL_PATH}/invokeai:/invokeai
|
||||
environment:
|
||||
- INVOKEAI_ROOT=/invokeai
|
||||
- INVOKEAI_PORT=${INVOKEAI_PORT:-9090}
|
||||
ports:
|
||||
- "${INVOKEAI_PORT:-9090}:9090"
|
||||
gpus: all
|
||||
- ${INVOKEAI_PORT:-9090}:9090
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
INVOKEAI_IMAGE=ghcr.io/invoke-ai/invokeai:latest
|
||||
INVOKEAI_RESTART=unless-stopped
|
||||
INVOKEAI_PORT=9090
|
||||
VOL_PATH=/data
|
||||
|
||||
+4
-5
@@ -1,12 +1,10 @@
|
||||
services:
|
||||
n8n:
|
||||
image: ${N8N_IMAGE:-n8nio/n8n:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${N8N_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH}/n8n/data:/home/node/.n8n
|
||||
- ${VOL_PATH}/n8n/files:/files
|
||||
ports:
|
||||
- "${N8N_PORT:-5678}:${N8N_PORT:-5678}"
|
||||
environment:
|
||||
- GENERIC_TIMEZONE=${TZ:-America/Vancouver}
|
||||
- TZ=${TZ:-America/Vancouver}
|
||||
@@ -17,10 +15,11 @@ services:
|
||||
- N8N_PORT=${N8N_PORT:-5678}
|
||||
- N8N_HOST=${N8N_HOST:-localhost}
|
||||
- N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL:-http://localhost:5678}
|
||||
- WEBHOOK_URL=${N8N_HOST:-http://localhost:5678}
|
||||
- WEBHOOK_URL=${N8N_HOST:-http://localhost:5678}
|
||||
- N8N_SECURE_COOKIE=${N8N_SECURE_COOKIE:-true}
|
||||
- HOME=/home/node
|
||||
user: "1000:1000"
|
||||
ports:
|
||||
- ${N8N_PORT:-5678}:5678
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
|
||||
+4
-11
@@ -1,17 +1,10 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
TZ="America/Vancouver"
|
||||
|
||||
# n8n
|
||||
N8N_IMAGE=n8nio/n8n:latest # or 2.16.1
|
||||
N8N_IMAGE=n8nio/n8n:latest
|
||||
N8N_RESTART=unless-stopped
|
||||
N8N_PORT=5678
|
||||
N8N_HOST=localhost
|
||||
N8N_PROTOCOL=http
|
||||
N8N_EDITOR_BASE_URL=http://localhost:5678
|
||||
N8N_SECURE_COOKIE=true
|
||||
|
||||
# NPM Reverse Proxy (override these):
|
||||
# N8N_HOST=n8n.yourdomain.com
|
||||
# N8N_PROTOCOL=https
|
||||
# N8N_EDITOR_BASE_URL=https://n8n.yourdomain.com
|
||||
# WEBHOOK_URL=https://n8n.yourdomain.com
|
||||
# N8N_SECURE_COOKIE=true
|
||||
TZ=America/Vancouver
|
||||
|
||||
+16
-18
@@ -1,39 +1,37 @@
|
||||
services:
|
||||
nextcloud-db:
|
||||
image: ${MARIADB_IMAGE:-mariadb:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${MARIADB_RESTART:-unless-stopped}
|
||||
command: >
|
||||
--transaction-isolation=READ-COMMITTED
|
||||
--binlog-format=ROW
|
||||
--innodb-file-per-table=1
|
||||
--skip-innodb-read-only-compressed
|
||||
environment:
|
||||
- MARIADB_DATABASE=${NEXTCLOUD_DB:-mydb}
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-ChangeThisPassword}
|
||||
- MARIADB_USER=${NEXTCLOUD_DB_USER:-dbuser}
|
||||
- MARIADB_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-AlsoChangeThisPassword}
|
||||
volumes:
|
||||
- ${VOL_PATH:-./data}/nextcloud/db:/var/lib/mysql
|
||||
- ${VOL_PATH}/nextcloud/db:/var/lib/mysql
|
||||
environment:
|
||||
- MARIADB_DATABASE=${NEXTCLOUD_DB:-nextcloud}
|
||||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-ChangeThisPassword}
|
||||
- MARIADB_USER=${NEXTCLOUD_DB_USER:-nextcloud}
|
||||
- MARIADB_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-ChangeThisPassword}
|
||||
networks:
|
||||
- nextcloud
|
||||
- internal
|
||||
|
||||
nextcloud:
|
||||
image: ${NEXTCLOUD_IMAGE:-nextcloud:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${NEXTCLOUD_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH}/nextcloud/data:/var/www/html
|
||||
environment:
|
||||
- MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-password}
|
||||
- MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-ChangeThisPassword}
|
||||
- MYSQL_DATABASE=${NEXTCLOUD_DB:-nextcloud}
|
||||
- MYSQL_USER=${NEXTCLOUD_DB_USER:-nextcloud}
|
||||
- MYSQL_HOST=${NEXTCLOUD_DB_HOST:-nextcloud-db}
|
||||
volumes:
|
||||
- ${VOL_PATH:-./data}/nextcloud/nextcloud:/var/www/html
|
||||
networks:
|
||||
- nextcloud
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
nextcloud:
|
||||
driver: bridge
|
||||
- internal
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
external: true
|
||||
internal:
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
|
||||
#DB
|
||||
MARIADB_IMAGE=mariadb:12.3.2
|
||||
MARIADB_ROOT_PASSWORD=ChangeThisPassword
|
||||
# nextcloud
|
||||
NEXTCLOUD_IMAGE=nextcloud:latest
|
||||
NEXTCLOUD_DB_PASSWORD=password
|
||||
NEXTCLOUD_RESTART=unless-stopped
|
||||
MARIADB_IMAGE=mariadb:latest
|
||||
MARIADB_RESTART=unless-stopped
|
||||
MARIADB_ROOT_PASSWORD=ChangeThisPassword
|
||||
|
||||
# Nextcloud
|
||||
NEXTCLOUD_DB=nextcloud
|
||||
NEXTCLOUD_DB_USER=nextcloud
|
||||
NEXTCLOUD_DB_HOST=nextcloud-db
|
||||
NEXTCLOUD_DB_PASSWORD=ChangeThisPassword
|
||||
NEXTCLOUD_DB_HOST=nextcloud-db
|
||||
|
||||
+15
-10
@@ -1,22 +1,27 @@
|
||||
# OpenCode Docker Compose
|
||||
|
||||
services:
|
||||
opencode:
|
||||
image: ${OPENCODE_IMAGE_NAME:-ghcr.io/anomalyco/opencode:latest}
|
||||
image: ${OPENCODE_IMAGE:-ghcr.io/anomalyco/opencode:latest}
|
||||
restart: ${OPENCODE_RESTART:-unless-stopped}
|
||||
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/opencode/config:/config
|
||||
- ${VOL_PROJECTS:-/data/projects}:/projects
|
||||
|
||||
- ${VOL_PATH}/opencode/config:/config
|
||||
- ${VOL_PROJECTS:-${VOL_PATH}/projects}:/projects
|
||||
environment:
|
||||
- OPENCODE_PORT=${OPENCODE_PORT:-4096}
|
||||
- OPENCODE_HOSTNAME=${OPENCODE_HOSTNAME:-0.0.0.0}
|
||||
- OPENCODE_CONFIG=/config/config.json
|
||||
- OPENCODE_MODEL=qwen3:8b-16k
|
||||
- OLLAMA_HOST=${OLLAMA_HOST_URL:-http://localhost:11434}
|
||||
|
||||
ports:
|
||||
- "${OPENCODE_PORT:-4096}:4096"
|
||||
- ${OPENCODE_PORT:-4096}:4096
|
||||
command:
|
||||
- serve
|
||||
- --port
|
||||
- ${OPENCODE_PORT:-4096}
|
||||
- --hostname
|
||||
- 0.0.0.0
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
command: ["serve", "--port", "${OPENCODE_PORT:-4096}", "--hostname", "0.0.0.0"]
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
+5
-4
@@ -1,7 +1,8 @@
|
||||
OPENCODE_IMAGE_NAME=ghcr.io/anomalyco/opencode:latest
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
VOL_PROJECTS=/data/projects
|
||||
OPENCODE_IMAGE=ghcr.io/anomalyco/opencode:latest
|
||||
OPENCODE_RESTART=unless-stopped
|
||||
VOL_PATH=/home/youruser/.local/share
|
||||
VOL_PROJECTS=/home/youruser/projects
|
||||
OPENCODE_PORT=4096
|
||||
OPENCODE_HOSTNAME=0.0.0.0
|
||||
OLLAMA_HOST=http://localhost:11434
|
||||
OLLAMA_HOST=http://localhost:11434
|
||||
|
||||
+44
-53
@@ -1,82 +1,73 @@
|
||||
###############################################################################
|
||||
# Paperless-ngx
|
||||
# Modifed from: https://github.com/paperless-ngx/paperless-ngx/blob/main/docker/compose/docker-compose.mariadb-tika.yml
|
||||
###############################################################################
|
||||
|
||||
services:
|
||||
|
||||
paperless-broker:
|
||||
image: docker.io/library/redis:8
|
||||
restart: unless-stopped
|
||||
image: ${REDIS_IMAGE:-redis:8}
|
||||
restart: ${REDIS_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/paperless/redis:/data
|
||||
- ${VOL_PATH}/paperless/redis:/data
|
||||
networks:
|
||||
- paperless
|
||||
- internal
|
||||
|
||||
paperless-db:
|
||||
image: docker.io/library/mariadb:12
|
||||
restart: unless-stopped
|
||||
image: ${MARIADB_IMAGE:-mariadb:latest}
|
||||
restart: ${MARIADB_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/paperless/db:/var/lib/mysql
|
||||
- ${VOL_PATH}/paperless/db:/var/lib/mysql
|
||||
environment:
|
||||
MARIADB_HOST: ${PAPERLESS_MARIADB_HOST:-paperless-db}
|
||||
MARIADB_DATABASE: ${PAPERLESS_MARIADB_DATABASE:-paperless}
|
||||
MARIADB_USER: ${PAPERLESS_MARIADB_USER:-paperless}
|
||||
MARIADB_PASSWORD: ${PAPERLESS_MARIADB_PASSWORD:-paperless}
|
||||
MARIADB_ROOT_PASSWORD: ${PAPERLESS_MARIADB_ROOT_PASSWORD:-paperless}
|
||||
- MARIADB_HOST=paperless-db
|
||||
- MARIADB_DATABASE=${PAPERLESS_MARIADB_DATABASE:-paperless}
|
||||
- MARIADB_USER=${PAPERLESS_MARIADB_USER:-paperless}
|
||||
- MARIADB_PASSWORD=${PAPERLESS_MARIADB_PASSWORD:-paperless}
|
||||
- MARIADB_ROOT_PASSWORD=${PAPERLESS_MARIADB_ROOT_PASSWORD:-paperless}
|
||||
networks:
|
||||
- paperless
|
||||
- internal
|
||||
|
||||
paperless-webserver:
|
||||
image: ${PAPERLESS_IMAGE:-ghcr.io/paperless-ngx/paperless-ngx:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${PAPERLESS_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/paperless/data:/usr/src/paperless/data
|
||||
- ${VOL_PATH:-/data}/paperless/media:/usr/src/paperless/media
|
||||
- ${VOL_PATH:-/data}/paperless/export:/usr/src/paperless/export
|
||||
- ${VOL_PATH:-/data}/paperless/consume:/usr/src/paperless/consume
|
||||
- ${VOL_PATH}/paperless/data:/usr/src/paperless/data
|
||||
- ${VOL_PATH}/paperless/media:/usr/src/paperless/media
|
||||
- ${VOL_PATH}/paperless/export:/usr/src/paperless/export
|
||||
- ${VOL_PATH}/paperless/consume:/usr/src/paperless/consume
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://paperless-broker:6379
|
||||
PAPERLESS_DBENGINE: mariadb
|
||||
PAPERLESS_DBHOST: paperless-db
|
||||
PAPERLESS_DBUSER: ${PAPERLESS_MARIADB_USER:-paperless}
|
||||
PAPERLESS_DBPASS: ${PAPERLESS_MARIADB_PASSWORD:-paperless}
|
||||
PAPERLESS_DBPORT: 3306
|
||||
PAPERLESS_TIKA_ENABLED: 1
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://paperless-gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://paperless-tika:9998
|
||||
PAPERLESS_TIME_ZONE: ${TZ:-America/Vancouver}
|
||||
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY:-changeme}
|
||||
PAPERLESS_OCR_LANGUAGE: ${PAPERLESS_OCR_LANGUAGE:-eng}
|
||||
PAPERLESS_URL: ${PAPERLESS_URL:-http://localhost}
|
||||
PAPERLESS_CONSUMER_DELETE_DUPLICATES: ${PAPERLESS_CONSUMER_DELETE_DUPLICATES:-0}
|
||||
PAPERLESS_CONSUMER_RECURSIVE: 1
|
||||
- PAPERLESS_REDIS=redis://paperless-broker:6379
|
||||
- PAPERLESS_DBENGINE=mariadb
|
||||
- PAPERLESS_DBHOST=paperless-db
|
||||
- PAPERLESS_DBUSER=${PAPERLESS_MARIADB_USER:-paperless}
|
||||
- PAPERLESS_DBPASS=${PAPERLESS_MARIADB_PASSWORD:-paperless}
|
||||
- PAPERLESS_DBPORT=3306
|
||||
- PAPERLESS_TIKA_ENABLED=1
|
||||
- PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://paperless-gotenberg:3000
|
||||
- PAPERLESS_TIKA_ENDPOINT=http://paperless-tika:9998
|
||||
- PAPERLESS_TIME_ZONE=${TZ:-America/Vancouver}
|
||||
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY:-changeme}
|
||||
- PAPERLESS_OCR_LANGUAGE=${PAPERLESS_OCR_LANGUAGE:-eng}
|
||||
- PAPERLESS_URL=${PAPERLESS_URL:-http://localhost}
|
||||
- PAPERLESS_CONSUMER_DELETE_DUPLICATES=${PAPERLESS_CONSUMER_DELETE_DUPLICATES:-0}
|
||||
- PAPERLESS_CONSUMER_RECURSIVE=1
|
||||
ports:
|
||||
- ${PAPERLESS_PORT:-8000}:8000
|
||||
networks:
|
||||
- paperless
|
||||
- proxy
|
||||
- internal
|
||||
|
||||
paperless-gotenberg:
|
||||
image: docker.io/gotenberg/gotenberg:8.25
|
||||
restart: unless-stopped
|
||||
# The gotenberg chromium route is used to convert .eml files. We do not
|
||||
# want to allow external content like tracking pixels or even javascript.
|
||||
image: ${GOTENBERG_IMAGE:-gotenberg/gotenberg:8.25}
|
||||
restart: ${GOTENBERG_RESTART:-unless-stopped}
|
||||
command:
|
||||
- "gotenberg"
|
||||
- "--chromium-disable-javascript=true"
|
||||
- "--chromium-allow-list=file:///tmp/.*"
|
||||
- gotenberg
|
||||
- --chromium-disable-javascript=true
|
||||
- --chromium-allow-list=file:///tmp/.*
|
||||
networks:
|
||||
- paperless
|
||||
- internal
|
||||
|
||||
paperless-tika:
|
||||
image: docker.io/apache/tika:latest
|
||||
restart: unless-stopped
|
||||
image: ${TIKA_IMAGE:-apache/tika:latest}
|
||||
restart: ${TIKA_RESTART:-unless-stopped}
|
||||
networks:
|
||||
- paperless
|
||||
- internal
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
paperless:
|
||||
driver: bridge
|
||||
internal:
|
||||
|
||||
+15
-9
@@ -1,12 +1,18 @@
|
||||
###############################################################################
|
||||
# Paperless-ngx settings #
|
||||
# See http://docs.paperless-ngx.com/configuration/ for all available options.
|
||||
###############################################################################
|
||||
|
||||
TZ=America/Vancouver
|
||||
VOL_PATH=./data
|
||||
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
PAPERLESS_IMAGE=ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||
PAPERLESS_RESTART=unless-stopped
|
||||
PAPERLESS_PORT=8000
|
||||
MARIADB_IMAGE=mariadb:latest
|
||||
MARIADB_RESTART=unless-stopped
|
||||
REDIS_IMAGE=redis:8
|
||||
REDIS_RESTART=unless-stopped
|
||||
GOTENBERG_IMAGE=gotenberg/gotenberg:8.25
|
||||
GOTENBERG_RESTART=unless-stopped
|
||||
TIKA_IMAGE=apache/tika:latest
|
||||
TIKA_RESTART=unless-stopped
|
||||
|
||||
# Paperless
|
||||
PAPERLESS_MARIADB_HOST=paperless-db
|
||||
PAPERLESS_MARIADB_DATABASE=paperless
|
||||
PAPERLESS_MARIADB_USER=paperless
|
||||
@@ -16,4 +22,4 @@ PAPERLESS_SECRET_KEY=changeme
|
||||
PAPERLESS_OCR_LANGUAGE=eng
|
||||
PAPERLESS_URL=http://localhost
|
||||
PAPERLESS_CONSUMER_DELETE_DUPLICATES=0
|
||||
PAPERLESS_PORT=8000
|
||||
TZ=America/Vancouver
|
||||
|
||||
+3
-6
@@ -1,19 +1,16 @@
|
||||
services:
|
||||
pihole:
|
||||
image: ${PIHOLE_IMAGE:-pihole/pihole:latest}
|
||||
restart: unless-stopped
|
||||
restart: ${PIHOLE_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- '${VOL_PATH}/pihole/pihole:/etc/pihole'
|
||||
- '${VOL_PATH}/pihole/dnsmasq:/etc/dnsmasq.d'
|
||||
- ${VOL_PATH}/pihole/etc:/etc/pihole
|
||||
- ${VOL_PATH}/pihole/dnsmasq:/etc/dnsmasq.d
|
||||
environment:
|
||||
- TZ=${TZ:-America/Vancouver}
|
||||
- FTLCONF_dns_listeningMode=ALL
|
||||
- FTLCONF_webserver_port=8080o,[::]:8080o,8443os,[::]:8443os
|
||||
network_mode: host
|
||||
cap_add:
|
||||
# See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
|
||||
- NET_ADMIN
|
||||
# Required if you are using Pi-hole as your NTP client to be able to set the host's system time
|
||||
- SYS_TIME
|
||||
# Optional, if Pi-hole should get some more processing time
|
||||
- SYS_NICE
|
||||
|
||||
+5
-3
@@ -1,3 +1,5 @@
|
||||
TZ="America/Vancouver"
|
||||
PIHOLE_IMAGE="pihole/pihole:2026.05.0"
|
||||
VOL_PATH="/data/"
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
PIHOLE_IMAGE=pihole/pihole:latest
|
||||
PIHOLE_RESTART=unless-stopped
|
||||
TZ=America/Vancouver
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
services:
|
||||
qbittorrent:
|
||||
image: ${QBT_IMAGE:-trigus42/qbittorrentvpn:latest}
|
||||
restart: ${QBT_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH}/qbit/config:/config
|
||||
- ${VOL_PATH}/qbit/downloads:/downloads
|
||||
- ${VOL_PATH}/qbit/incomplete:/incomplete
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
environment:
|
||||
- VPN_TYPE=wireguard
|
||||
- WEBUI_PASSWORD=${QBT_PASS:-ChangeMePass}
|
||||
volumes:
|
||||
- "${VOL_PATH:-/data}/qbit/config:/config"
|
||||
- "${VOL_PATH:-/data}/qbit/downloads:/downloads"
|
||||
- "${VOL_PATH:-/data}/qbit/incomplete:/incomplete"
|
||||
- '/dev/net/tun:/dev/net/tun'
|
||||
ports:
|
||||
- 8080:8080
|
||||
restart: unless-stopped
|
||||
- ${QBT_PORT:-8080}:8080
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
sysctls:
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
- net.ipv4.conf.all.src_valid_mark=1
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# qbittorrent
|
||||
QBT_IMAGE=trigus42/qbittorrentvpn:latest
|
||||
QBT_PASS=01234567890
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
QBT_IMAGE=trigus42/qbittorrentvpn:latest
|
||||
QBT_RESTART=unless-stopped
|
||||
QBT_PORT=8080
|
||||
QBT_PASS=ChangeMePass
|
||||
|
||||
+8
-10
@@ -1,25 +1,23 @@
|
||||
services:
|
||||
stashapp:
|
||||
image: ${STASHAPP_IMAGE:-stashapp/stash:latest}
|
||||
# image: ghcr.io/hotio/stash # Alternative image
|
||||
restart: ${STASHAPP_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ${VOL_PATH:-./data}/stash/generated:/generated
|
||||
- ${VOL_PATH:-./data}/stash/metadata:/metadata
|
||||
- ${VOL_PATH:-./data}/stash/root:/root/.stash
|
||||
- ${VOL_PATH}/stash/generated:/generated
|
||||
- ${VOL_PATH}/stash/metadata:/metadata
|
||||
- ${VOL_PATH}/stash/root:/root/.stash
|
||||
- ${STASH_CONTENT_PATH:-/data/stash}:/data
|
||||
environment:
|
||||
- STASH_CACHE=${STASHAPP_CACHE:-/cache/}
|
||||
- STASH_DOMAIN_NAME=${STASHAPP_DOMAIN:-stash.yourdomain.ca}
|
||||
- STASH_GENERATED=${STASHAPP_GENERATED:-/generated/}
|
||||
- STASH_METADATA=${STASHAPP_METADATA:-/metadata/}
|
||||
- STASH_STASH=${STASHAPP_STASH:-/data/}
|
||||
- STASH_GENERATED=/generated/
|
||||
- STASH_METADATA=/metadata/
|
||||
- STASH_STASH=/data/
|
||||
ports:
|
||||
- "${STASHAPP_PORT:-9999}:9999"
|
||||
- ${STASHAPP_PORT:-9999}:9999
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
external: true
|
||||
|
||||
+3
-4
@@ -1,12 +1,11 @@
|
||||
# Compose
|
||||
VOL_PATH=/data
|
||||
STASH_CONTENT_PATH=/data/stash
|
||||
# stashapp
|
||||
STASHAPP_IMAGE=stashapp/stash:latest # https://hub.docker.com/r/stashapp/stash/tags
|
||||
# ghcr.io/hotio/stash # Alternative image
|
||||
STASHAPP_IMAGE=stashapp/stash:latest
|
||||
STASHAPP_RESTART=unless-stopped
|
||||
STASHAPP_PORT=9999
|
||||
STASHAPP_CACHE=/cache/
|
||||
STASHAPP_DOMAIN=stash.yourdomain.ca
|
||||
STASHAPP_GENERATED=/generated/
|
||||
STASHAPP_METADATA=/metadata/
|
||||
STASHAPP_STASH=/data/
|
||||
STASHAPP_PORT=9999
|
||||
Reference in New Issue
Block a user