mirror of
https://git.myvelabs.com/docker/docker-compose.yaml.git
synced 2025-12-17 21:26:17 +00:00
Reboot
This commit is contained in:
parent
b7336a277f
commit
e650d80b1e
58 changed files with 1747 additions and 0 deletions
13
commafeed/.env
Normal file
13
commafeed/.env
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Commafeed
|
||||||
|
COMMAFEED_PORT=
|
||||||
|
COMMAFEED_DBNAME=
|
||||||
|
COMMAFEED_DBUSER=
|
||||||
|
COMMAFEED_DBPASS=
|
||||||
|
COMMAFEED_URL=
|
||||||
56
commafeed/docker-compose.yaml
Normal file
56
commafeed/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://hub.docker.com/r/athou/commafeed
|
||||||
|
commafeed:
|
||||||
|
image: ${REGISTRY}/commafeed
|
||||||
|
container_name: commafeed
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${COMMAFEED_PORT:-8082}:8082
|
||||||
|
environment:
|
||||||
|
# PostgreSQL
|
||||||
|
CF_DATABASE_DRIVERCLASS: org.postgresql.Driver
|
||||||
|
CF_DATABASE_URL: jdbc:postgresql://commafeed-postgresql:5432/${COMMAFEED_DBNAME:-commafeed}
|
||||||
|
CF_DATABASE_USER: ${COMMAFEED_DBUSER:-commafeed}
|
||||||
|
CF_DATABASE_PASSWORD: ${COMMAFEED_DBPASS:-commafeed}
|
||||||
|
# App settings
|
||||||
|
CF_APP_PUBLICURL: ${COMMAFEED_URL:-http://localhost:${COMMAFEED_PORT:-8082}}
|
||||||
|
CF_APP_IMAGEPROXYENABLED: true
|
||||||
|
CF_APP_STRICTPASSWORDPOLICY: false
|
||||||
|
# Redis
|
||||||
|
CF_APP_CACHE: redis
|
||||||
|
CF_REDIS_HOST: commafeed-redis
|
||||||
|
CF_REDIS_PORT: 6379
|
||||||
|
volumes:
|
||||||
|
- ./data:/commafeed/data
|
||||||
|
depends_on:
|
||||||
|
- commafeed-postgresql
|
||||||
|
- commafeed-redis
|
||||||
|
networks:
|
||||||
|
- commafeed
|
||||||
|
commafeed-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: commafeed-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${COMMAFEED_DBNAME:-commafeed}
|
||||||
|
POSTGRES_USER: ${COMMAFEED_DBUSER:-commafeed}
|
||||||
|
POSTGRES_PASSWORD: ${COMMAFEED_DBPASS:-commafeed}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- commafeed
|
||||||
|
commafeed-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: commafeed-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping
|
||||||
|
networks:
|
||||||
|
- commafeed
|
||||||
|
|
||||||
|
networks:
|
||||||
|
commafeed:
|
||||||
|
external: false
|
||||||
9
dashy/.env
Normal file
9
dashy/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Dashy
|
||||||
|
DASHY_PORT=
|
||||||
25
dashy/docker-compose.yaml
Normal file
25
dashy/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# dashy (https://github.com/Lissy93/dashy/blob/master/docker-compose.yml)
|
||||||
|
dashy:
|
||||||
|
image: ${REGISTRY}/dashy
|
||||||
|
container_name: dashy
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${DASHY_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'node', '/app/services/healthcheck']
|
||||||
|
interval: 1m30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 40s
|
||||||
|
volumes:
|
||||||
|
- ./conf.yml:/app/user-data/conf.yml
|
||||||
|
networks:
|
||||||
|
- dashy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
dashy:
|
||||||
|
external: false
|
||||||
13
fireshare/.env
Normal file
13
fireshare/.env
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Fireshare
|
||||||
|
FIRESHARE_PORT=
|
||||||
|
FIRESHARE_ADMIN=
|
||||||
|
FIRESHARE_PASSWORD=
|
||||||
|
FIRESHARE_SECRET=
|
||||||
|
FIRESHARE_URL=
|
||||||
29
fireshare/docker-compose.yaml
Normal file
29
fireshare/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/ShaneIsrael/fireshare
|
||||||
|
fireshare:
|
||||||
|
image: ${REGISTRY}/fireshare
|
||||||
|
container_name: fireshare
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${FIRESHARE_PORT:-8080}:80
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./processed:/processed
|
||||||
|
- ./videos:/videos
|
||||||
|
- ./index.html:/app/build/index.html
|
||||||
|
environment:
|
||||||
|
ADMIN_USERNAME: ${FIRESHARE_ADMIN:-admin}
|
||||||
|
ADMIN_PASSWORD: ${FIRESHARE_PASSWORD:-admin}
|
||||||
|
SECRET_KEY: ${FIRESHARE_SECRET:-secret}
|
||||||
|
MINUTES_BETWEEN_VIDEO_SCANS: 5
|
||||||
|
THUMBNAIL_VIDEO_LOCATION: 0
|
||||||
|
DOMAIN: ${FIRESHARE_URL:-localhost}
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 1000
|
||||||
|
networks:
|
||||||
|
- fireshare
|
||||||
|
|
||||||
|
networks:
|
||||||
|
fireshare:
|
||||||
|
external: false
|
||||||
12
forgejo/.env
Normal file
12
forgejo/.env
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Forgejo
|
||||||
|
FORGEJO_PORT=
|
||||||
|
FORGEJO_SSH_PORT=
|
||||||
|
FORGEJO_DBNAME=
|
||||||
|
FORGEJO_DBUSER=
|
||||||
|
FORGEJO_DBPASS=
|
||||||
|
FORGEJO_TITLE=
|
||||||
|
FORGEJO_URL=
|
||||||
75
forgejo/docker-compose.yaml
Normal file
75
forgejo/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://forgejo.org/docs/latest/admin/installation-docker/
|
||||||
|
forgejo:
|
||||||
|
image: codeberg.org/forgejo/forgejo:8-rootless
|
||||||
|
container_name: forgejo
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${FORGEJO_PORT:-3000}:3000
|
||||||
|
- ${FORGEJO_SSH_PORT:-2222}:22
|
||||||
|
environment:
|
||||||
|
USER_UID: 1000
|
||||||
|
USER_GID: 1000
|
||||||
|
|
||||||
|
FORGEJO__database__DB_TYPE: postgres
|
||||||
|
FORGEJO__database__HOST: forgejo-postgresql:5432
|
||||||
|
FORGEJO__database__NAME: ${FORGEJO_DBNAME:-forgejo}
|
||||||
|
FORGEJO__database__USER: ${FORGEJO_DBUSER:-forgejo}
|
||||||
|
FORGEJO__database__PASSWD: ${FORGEJO_DBPASS:-forgejo}
|
||||||
|
|
||||||
|
FORGEJO__DEFAULT__APP_NAME: ${FORGEJO_TITLE:-Forgejo}
|
||||||
|
FORGEJO__service__DISABLE_REGISTRATION: true
|
||||||
|
FORGEJO__service__SHOW_REGISTRATION_BUTTON: false
|
||||||
|
FORGEJO__other__SHOW_FOOTER_VERSION: false
|
||||||
|
FORGEJO__ui__SHOW_USER_EMAIL: false
|
||||||
|
|
||||||
|
FORGEJO__repository__DEFAULT_BRANCH: master
|
||||||
|
FORGEJO__repository__ENABLE_PUSH_CREATE_USER: true
|
||||||
|
FORGEJO__repository__ENABLE_PUSH_CREATE_ORG: true
|
||||||
|
FORGEJO__repository.upload__FILE_MAX_SIZE: 256
|
||||||
|
FORGEJO__mirror__DEFAULT_INTERVAL: 24h
|
||||||
|
|
||||||
|
FORGEJO__server__ROOT_URL: ${FORGEJO_URL:-http://localhost:${FORGEJO_PORT:-3000}}
|
||||||
|
FORGEJO__server__LANDING_PAGE: login
|
||||||
|
|
||||||
|
FORGEJO__migrations__ALLOWED_DOMAINS: "*"
|
||||||
|
|
||||||
|
FORGEJO__cache__ENABLED: true
|
||||||
|
FORGEJO__cache__ADAPTER: redis
|
||||||
|
FORGEJO__cache__HOST: redis://forgejo-redis:6379/0?pool_size=100&idle_timeout=180s
|
||||||
|
|
||||||
|
FORGEJO__security__LOGIN_REMEMBER_DAYS: 365
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
depends_on:
|
||||||
|
- forgejo-postgresql
|
||||||
|
- forgejo-redis
|
||||||
|
networks:
|
||||||
|
- forgejo
|
||||||
|
forgejo-postgresql:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: forgejo-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${FORGEJO_DBNAME:-forgejo}
|
||||||
|
POSTGRES_USER: ${FORGEJO_DBUSER:-forgejo}
|
||||||
|
POSTGRES_PASSWORD: ${FORGEJO_DBPASS:-forgejo}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- forgejo
|
||||||
|
forgejo-redis:
|
||||||
|
image: valkey/valkey
|
||||||
|
container_name: forgejo-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- forgejo
|
||||||
|
|
||||||
|
networks:
|
||||||
|
forgejo:
|
||||||
|
external: false
|
||||||
14
immich/.env
Normal file
14
immich/.env
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Immich
|
||||||
|
IMMICH_PORT=
|
||||||
|
IMMICH_REDIS_HOST=
|
||||||
|
IMMICH_DB_HOST=
|
||||||
|
IMMICH_DB_NAME=
|
||||||
|
IMMICH_DB_USER=
|
||||||
|
IMMICH_DB_PASS=
|
||||||
95
immich/docker-compose.yaml
Normal file
95
immich/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://immich.app/docs/install/docker-compose
|
||||||
|
immich-server:
|
||||||
|
image: ${REGISTRY}/immich-server
|
||||||
|
container_name: immich-server
|
||||||
|
restart: unless-stopped
|
||||||
|
command: ['start.sh', 'immich']
|
||||||
|
ports:
|
||||||
|
- ${IMMICH_PORT:-2283}:3001
|
||||||
|
environment:
|
||||||
|
REDIS_HOSTNAME: ${IMMICH_REDIS_HOST}
|
||||||
|
DB_HOSTNAME: ${IMMICH_DB_HOST}
|
||||||
|
DB_USERNAME: ${IMMICH_DB_USER}
|
||||||
|
DB_PASSWORD: ${IMMICH_DB_PASS}
|
||||||
|
DB_DATABASE_NAME: ${IMMICH_DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- ./library:/usr/src/app/upload
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
depends_on:
|
||||||
|
- immich-redis
|
||||||
|
- immich-postgresql
|
||||||
|
networks:
|
||||||
|
- immich
|
||||||
|
immich-microservices:
|
||||||
|
image: ${REGISTRY}/immich-server
|
||||||
|
container_name: immich-microservices
|
||||||
|
restart: unless-stopped
|
||||||
|
command: ['start.sh', 'microservices']
|
||||||
|
environment:
|
||||||
|
REDIS_HOSTNAME: ${IMMICH_REDIS_HOST}
|
||||||
|
DB_HOSTNAME: ${IMMICH_DB_HOST}
|
||||||
|
DB_USERNAME: ${IMMICH_DB_USER}
|
||||||
|
DB_PASSWORD: ${IMMICH_DB_PASS}
|
||||||
|
DB_DATABASE_NAME: ${IMMICH_DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- ./library:/usr/src/app/upload
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- "/nextcloud/baby/Pikachu and Sable/Both Babies:/watch/family/babies/both:ro"
|
||||||
|
- "/nextcloud/me/Pictures/Forever Starts Here:/watch/family/myve:ro"
|
||||||
|
- "/nextcloud/me/Pictures/Pikachu:/watch/family/babies/pikachu:ro"
|
||||||
|
- "/nextcloud/me/Pictures/Sable:/watch/family/babies/sable:ro"
|
||||||
|
depends_on:
|
||||||
|
- immich-redis
|
||||||
|
- immich-postgresql
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: all
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
- compute
|
||||||
|
- video
|
||||||
|
networks:
|
||||||
|
- immich
|
||||||
|
immich-machine-learning:
|
||||||
|
image: ${REGISTRY}/immich-machine-learning
|
||||||
|
container_name: immich-machine-learning
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./model-cache:/cache
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: all
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
networks:
|
||||||
|
- immich
|
||||||
|
immich-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: immich-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- immich
|
||||||
|
immich-postgresql:
|
||||||
|
image: ${REGISTRY}/pgvecto-rs
|
||||||
|
container_name: immich-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${IMMICH_DB_NAME}
|
||||||
|
POSTGRES_USER: ${IMMICH_DB_USER}
|
||||||
|
POSTGRES_PASSWORD: ${IMMICH_DB_PASS}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- immich
|
||||||
|
|
||||||
|
networks:
|
||||||
|
immich:
|
||||||
|
external: false
|
||||||
15
invidious/.env
Normal file
15
invidious/.env
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Invidious
|
||||||
|
INVIDIOUS_PORT=
|
||||||
|
INVIDIOUS_DBNAME=
|
||||||
|
INVIDIOUS_DBUSER=
|
||||||
|
INVIDIOUS_DBPASS=
|
||||||
|
INVIDIOUS_URL=
|
||||||
|
INVIDIOUS_ADMIN=
|
||||||
|
INVIDIOUS_HMAC=
|
||||||
59
invidious/docker-compose.yaml
Normal file
59
invidious/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/iv-org/invidious/releases/latest
|
||||||
|
# invidious
|
||||||
|
invidious:
|
||||||
|
image: ${REGISTRY}/invidious
|
||||||
|
container_name: invidious
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${INVIDIOUS_PORT:-3000}:3000
|
||||||
|
environment:
|
||||||
|
INVIDIOUS_CONFIG: |
|
||||||
|
db:
|
||||||
|
host: invidious-postgresql
|
||||||
|
port: 5432
|
||||||
|
dbname: ${INVIDIOUS_DBNAME:-invidious}
|
||||||
|
user: ${INVIDIOUS_DBUSER:-invidious}
|
||||||
|
password: ${INVIDIOUS_DBPASS:-invidious}
|
||||||
|
check_tables: true
|
||||||
|
domain: ${INVIDIOUS_URL:-https://localhost:${INVIDIOUS_PORT:-3000}}
|
||||||
|
https_only: true
|
||||||
|
registration_enabled: false
|
||||||
|
admins: ["${INVIDIOUS_ADMIN:-admin}"]
|
||||||
|
hmac_key: ${INVIDIOUS_HMAC:-invidious}
|
||||||
|
quality: dash
|
||||||
|
quality_dash: auto
|
||||||
|
healthcheck:
|
||||||
|
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1G
|
||||||
|
max-file: 4
|
||||||
|
depends_on:
|
||||||
|
- invidious-postgresql
|
||||||
|
networks:
|
||||||
|
- invidious
|
||||||
|
invidious-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: invidious-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data
|
||||||
|
- ./config/sql:/config/sql
|
||||||
|
- ./docker/init-invidious-postgresql.sh:/docker-entrypoint-initdb.d/init-invidious-postgresql.sh
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${INVIDIOUS_DBNAME:-invidious}
|
||||||
|
POSTGRES_USER: ${INVIDIOUS_DBUSER:-invidious}
|
||||||
|
POSTGRES_PASSWORD: ${INVIDIOUS_DBPASS:-invidious}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
||||||
|
networks:
|
||||||
|
- invidious
|
||||||
|
|
||||||
|
networks:
|
||||||
|
invidious:
|
||||||
|
external: false
|
||||||
9
jellyfin/.env
Normal file
9
jellyfin/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Jellyfin port
|
||||||
|
JELLYFIN_PORT=4200
|
||||||
26
jellyfin/docker-compose.yaml
Normal file
26
jellyfin/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
jellyfin:
|
||||||
|
image: ${REGISTRY}/jellyfin
|
||||||
|
container_name: jellyfin
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${JELLYFIN_PORT:-8096}:8096/tcp
|
||||||
|
user: 1000:984
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
- ./cache:/cache
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: all
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
networks:
|
||||||
|
- jellyfin
|
||||||
|
|
||||||
|
networks:
|
||||||
|
jellyfin:
|
||||||
|
external: false
|
||||||
13
linkding/.env
Normal file
13
linkding/.env
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Linkding
|
||||||
|
LINKDING_PORT=
|
||||||
|
LINKDING_DBNAME=
|
||||||
|
LINKDING_DBUSER=
|
||||||
|
LINKDING_DBPASS=
|
||||||
|
LINKDING_URL=
|
||||||
43
linkding/docker-compose.yaml
Normal file
43
linkding/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# linkding (https://github.com/sissbruecker/linkding)
|
||||||
|
linkding:
|
||||||
|
image: ${REGISTRY}/linkding
|
||||||
|
container_name: linkding
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${LINKDING_PORT:-9090}:9090
|
||||||
|
environment:
|
||||||
|
LD_DB_ENGINE: postgres
|
||||||
|
LD_DB_HOST: linkding-postgresql
|
||||||
|
LD_DB_PORT: 5432
|
||||||
|
LD_DB_DATABASE: ${LINKDING_DBNAME:-linkding}
|
||||||
|
LD_DB_USER: ${LINKDING_DBUSER:-linkding}
|
||||||
|
LD_DB_PASSWORD: ${LINKDING_DBPASS:-linkding}
|
||||||
|
|
||||||
|
LD_DISABLE_BACKGROUND_TASKS: False
|
||||||
|
LD_DISABLE_URL_VALIDATION: False
|
||||||
|
LD_ENABLE_AUTH_PROXY: False
|
||||||
|
LD_CSRF_TRUSTED_ORIGINS: ${LINKDING_URL:-http://localhost:${LINKDING_PORT:-9090}}
|
||||||
|
volumes:
|
||||||
|
- ./data:/etc/linkding/data
|
||||||
|
depends_on:
|
||||||
|
- linkding-postgresql
|
||||||
|
networks:
|
||||||
|
- linkding
|
||||||
|
linkding-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: linkding-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${LINKDING_DBNAME:-linkding}
|
||||||
|
POSTGRES_USER: ${LINKDING_DBUSER:-linkding}
|
||||||
|
POSTGRES_PASSWORD: ${LINKDING_DBPASS:-linkding}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- linkding
|
||||||
|
|
||||||
|
networks:
|
||||||
|
linkding:
|
||||||
|
external: false
|
||||||
11
linkstack/.env
Normal file
11
linkstack/.env
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Linkstack
|
||||||
|
LINKSTACK_PORT=
|
||||||
|
LINKSTACK_ADMIN=
|
||||||
|
LINKSTACK_DOMAIN=
|
||||||
25
linkstack/docker-compose.yaml
Normal file
25
linkstack/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/LinkStackOrg/linkstack-docker/blob/main/docker-compose.yml
|
||||||
|
linkstack:
|
||||||
|
image: ${REGISTRY}/linkstack
|
||||||
|
container_name: linkstack
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${LINKSTACK_PORT:-443}:443
|
||||||
|
environment:
|
||||||
|
TZ: UTC
|
||||||
|
SERVER_ADMIN: ${LINKSTACK_ADMIN:-admin}
|
||||||
|
HTTP_SERVER_NAME: ${LINKSTACK_DOMAIN:-localhost}
|
||||||
|
HTTPS_SERVER_NAME: ${LINKSTACK_DOMAIN:-localhost}
|
||||||
|
LOG_LEVEL: info
|
||||||
|
PHP_MEMORY_LIMIT: 8G
|
||||||
|
UPLOAD_MAX_FILESIZE: 2G
|
||||||
|
volumes:
|
||||||
|
- ./data:/htdocs
|
||||||
|
networks:
|
||||||
|
- linkstack
|
||||||
|
|
||||||
|
networks:
|
||||||
|
linkstack:
|
||||||
|
external: false
|
||||||
12
matrix/.env
Normal file
12
matrix/.env
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Matrix
|
||||||
|
MATRIX_PORT=
|
||||||
|
MATRIX_DBNAME=
|
||||||
|
MATRIX_DBUSER=
|
||||||
|
MATRIX_DBPASS=
|
||||||
33
matrix/docker-compose.yaml
Normal file
33
matrix/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# Matrix (https://github.com/element-hq/synapse)
|
||||||
|
# register_new_matrix_user -c homeserver.yaml http://localhost:8008
|
||||||
|
matrix:
|
||||||
|
image: ${REGISTRY}/synapse
|
||||||
|
container_name: matrix
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${MATRIX_PORT:-8008}:8008
|
||||||
|
volumes:
|
||||||
|
- ./data:/data:rw
|
||||||
|
depends_on:
|
||||||
|
- matrix-postgresql
|
||||||
|
networks:
|
||||||
|
- matrix
|
||||||
|
matrix-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: matrix-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${MATRIX_DBNAME:-synapse}
|
||||||
|
POSTGRES_USER: ${MATRIX_DBUSER:-synapse}
|
||||||
|
POSTGRES_PASSWORD: ${MATRIX_DBPASS:-synapse}
|
||||||
|
POSTGRES_INITDB_ARGS: --encoding=UTF8 --locale=C
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- matrix
|
||||||
|
|
||||||
|
networks:
|
||||||
|
matrix:
|
||||||
|
external: false
|
||||||
18
nextcloud/.env
Normal file
18
nextcloud/.env
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Nextcloud
|
||||||
|
NEXTCLOUD_PORT=
|
||||||
|
NEXTCLOUD_DBNAME=
|
||||||
|
NEXTCLOUD_DBUSER=
|
||||||
|
NEXTCLOUD_DBPASS=
|
||||||
|
|
||||||
|
# Onlyoffice Document Server
|
||||||
|
ONLYOFFICE_DS_JWTSECRET=
|
||||||
|
ONLYOFFICE_DS_JWTHEADER=
|
||||||
|
ONLYOFFICE_DS_DBNAME=
|
||||||
|
ONLYOFFICE_DS_DBUSER=
|
||||||
126
nextcloud/docker-compose.yaml
Normal file
126
nextcloud/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# nextcloud (https://github.com/nextcloud/docker)
|
||||||
|
nextcloud-nginx:
|
||||||
|
image: ${REGISTRY}/nginx
|
||||||
|
container_name: nextcloud-nginx
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${NEXTCLOUD_PORT:-80}:80
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||||
|
- ./app:/var/www/html
|
||||||
|
depends_on:
|
||||||
|
- nextcloud
|
||||||
|
- onlyoffice-document-server
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
nextcloud:
|
||||||
|
image: ${REGISTRY}/nextcloud
|
||||||
|
container_name: nextcloud
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
# Redis
|
||||||
|
REDIS_HOST: nextcloud-redis
|
||||||
|
# PostgreSQL
|
||||||
|
POSTGRES_HOST: nextcloud-postgresql
|
||||||
|
POSTGRES_DB: ${NEXTCLOUD_DBNAME:-nextcloud}
|
||||||
|
POSTGRES_USER: ${NEXTCLOUD_DBUSER:-nextcloud}
|
||||||
|
POSTGRES_PASSWORD: ${NEXTCLOUD_DBPASS:-nextcloud}
|
||||||
|
# PHP
|
||||||
|
PHP_MEMORY_LIMIT: 16G
|
||||||
|
PHP_UPLOAD_LIMIT: 0
|
||||||
|
volumes:
|
||||||
|
- ./app:/var/www/html
|
||||||
|
- ./data:/var/www/html/data
|
||||||
|
- ./php-fpm.conf:/usr/local/etc/php-fpm.d/zz-zpmchildren.conf
|
||||||
|
depends_on:
|
||||||
|
- nextcloud-postgresql
|
||||||
|
- nextcloud-redis
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
nextcloud-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: nextcloud-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${NEXTCLOUD_DBNAME:-nextcloud}
|
||||||
|
POSTGRES_USER: ${NEXTCLOUD_DBUSER:-nextcloud}
|
||||||
|
POSTGRES_PASSWORD: ${NEXTCLOUD_DBPASS:-nextcloud}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
nextcloud-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: nextcloud-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
# Onlyoffice Document Server
|
||||||
|
onlyoffice-document-server:
|
||||||
|
image: ${REGISTRY}/onlyoffice/documentserver
|
||||||
|
container_name: onlyoffice-document-server
|
||||||
|
restart: unless-stopped
|
||||||
|
stdin_open: true
|
||||||
|
environment:
|
||||||
|
# JWT
|
||||||
|
JWT_ENABLED: true
|
||||||
|
JWT_SECRET: ${ONLYOFFICE_DS_JWTSECRET:-onlyoffice}
|
||||||
|
JWT_HEADER: ${ONLYOFFICE_DS_JWTHEADER:-onlyoffice}
|
||||||
|
# PostgreSQL
|
||||||
|
DB_TYPE: postgres
|
||||||
|
DB_HOST: onlyoffice-postgresql
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_NAME: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
|
||||||
|
DB_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
|
||||||
|
# Rabbitmq
|
||||||
|
AMQP_URI: amqp://guest:guest@onlyoffice-rabbitmq
|
||||||
|
# Redis
|
||||||
|
REDIS_SERVER_HOST: onlyoffice-redis
|
||||||
|
REDIS_SERVER_PORT: 6379
|
||||||
|
volumes:
|
||||||
|
- ./onlyoffice/document/data:/var/www/onlyoffice/Data
|
||||||
|
- ./onlyoffice/document/log:/var/log/onlyoffice
|
||||||
|
- ./onlyoffice/document/fonts:/usr/share/fonts/truetype/custom
|
||||||
|
- ./onlyoffice/document/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
|
||||||
|
- ./onlyoffice/document/cache:/var/lib/onlyoffice
|
||||||
|
depends_on:
|
||||||
|
- onlyoffice-postgresql
|
||||||
|
- onlyoffice-rabbitmq
|
||||||
|
- onlyoffice-redis
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
onlyoffice-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: onlyoffice-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
|
||||||
|
POSTGRES_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
volumes:
|
||||||
|
- ./onlyoffice/postgresql:/var/lib/postgresql:rw
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
onlyoffice-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: onlyoffice-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./onlyoffice/redis:/data
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
onlyoffice-rabbitmq:
|
||||||
|
image: ${REGISTRY}/rabbitmq
|
||||||
|
container_name: onlyoffice-rabbitmq
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nextcloud:
|
||||||
|
external: false
|
||||||
9
nitter/.env
Normal file
9
nitter/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Nitter
|
||||||
|
NITTER_PORT=
|
||||||
52
nitter/docker-compose.yaml
Normal file
52
nitter/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/PrivacyDevel/nitter/blob/master/docker-compose.yml
|
||||||
|
# https://github.com/zedeus/nitter/issues/1155#issuecomment-1917167072
|
||||||
|
nitter:
|
||||||
|
image: ${REGISTRY}/nitter
|
||||||
|
container_name: nitter
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${NITTER_PORT:-8080}:8080
|
||||||
|
healthcheck:
|
||||||
|
test: wget -nv --tries=1 --spider http://127.0.0.1:8080/Jack/status/20 || exit 1
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
volumes:
|
||||||
|
- ./nitter.conf:/src/nitter.conf:Z,ro
|
||||||
|
- ./guest_accounts.json:/src/guest_accounts.json
|
||||||
|
depends_on:
|
||||||
|
- nitter-redis
|
||||||
|
user: 1000:984
|
||||||
|
read_only: true
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
networks:
|
||||||
|
- nitter
|
||||||
|
nitter-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: nitter-redis
|
||||||
|
command: redis-server --save 60 1 --loglevel warning
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
user: 1000:984
|
||||||
|
read_only: true
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
networks:
|
||||||
|
- nitter
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nitter:
|
||||||
|
external: false
|
||||||
9
olivetin/.env
Normal file
9
olivetin/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Olivetin
|
||||||
|
OLIVETIN_PORT=
|
||||||
17
olivetin/docker-compose.yaml
Normal file
17
olivetin/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://docs.olivetin.app/install-compose.html
|
||||||
|
olivetin:
|
||||||
|
container_name: olivetin
|
||||||
|
image: ${REGISTRY}/olivetin
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${OLIVETIN_PORT:-1337}:1337
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
networks:
|
||||||
|
- olivetin
|
||||||
|
|
||||||
|
networks:
|
||||||
|
olivetin:
|
||||||
|
external: false
|
||||||
9
ollama/.env
Normal file
9
ollama/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Ollama
|
||||||
|
OLLAMA_PORT=4100
|
||||||
43
ollama/docker-compose.yaml
Normal file
43
ollama/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/open-webui/open-webui
|
||||||
|
ollama:
|
||||||
|
image: ${REGISTRY}/ollama
|
||||||
|
container_name: ollama
|
||||||
|
restart: unless-stopped
|
||||||
|
pull_policy: always
|
||||||
|
tty: true
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: all
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
volumes:
|
||||||
|
- ./app:/root/.ollama
|
||||||
|
networks:
|
||||||
|
- ollama
|
||||||
|
ollama-webui:
|
||||||
|
image: ${REGISTRY}/open-webui
|
||||||
|
container_name: ollama-webui
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${OLLAMA_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
OLLAMA_BASE_URL: http://ollama:11434
|
||||||
|
CUSTOM_NAME: MyveAI
|
||||||
|
WEBUI_NAME: MyveAI
|
||||||
|
ENABLE_SIGNUP: False
|
||||||
|
DEFAULT_MODELS: llama3
|
||||||
|
volumes:
|
||||||
|
- ./webui:/app/backend/data
|
||||||
|
depends_on:
|
||||||
|
- ollama
|
||||||
|
networks:
|
||||||
|
- ollama
|
||||||
|
|
||||||
|
networks:
|
||||||
|
ollama:
|
||||||
|
external: false
|
||||||
20
onlyoffice/.env
Normal file
20
onlyoffice/.env
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Onlyoffice Document Server
|
||||||
|
ONLYOFFICE_DS_JWTSECRET=
|
||||||
|
ONLYOFFICE_DS_JWTHEADER=
|
||||||
|
ONLYOFFICE_DS_DBNAME=
|
||||||
|
ONLYOFFICE_DS_DBUSER=
|
||||||
|
|
||||||
|
# Onlyoffice Community Server
|
||||||
|
ONLYOFFICE_CS_PORT=
|
||||||
|
ONLYOFFICE_CS_MACHINEKEY=
|
||||||
|
ONLYOFFICE_CS_DBNAME=
|
||||||
|
ONLYOFFICE_CS_DBROOT=
|
||||||
|
ONLYOFFICE_CS_DBUSER=
|
||||||
|
ONLYOFFICE_CS_DBPASS=
|
||||||
165
onlyoffice/docker-compose.yaml
Normal file
165
onlyoffice/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,165 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# Onlyoffice Document Server
|
||||||
|
onlyoffice-document-server:
|
||||||
|
image: ${REGISTRY}/onlyoffice/documentserver
|
||||||
|
container_name: onlyoffice-document-server
|
||||||
|
restart: unless-stopped
|
||||||
|
stdin_open: true
|
||||||
|
environment:
|
||||||
|
# JWT
|
||||||
|
JWT_ENABLED: true
|
||||||
|
JWT_SECRET: ${ONLYOFFICE_DS_JWTSECRET:-onlyoffice}
|
||||||
|
JWT_HEADER: ${ONLYOFFICE_DS_JWTHEADER:-onlyoffice}
|
||||||
|
# PostgreSQL
|
||||||
|
DB_TYPE: postgres
|
||||||
|
DB_HOST: onlyoffice-postgresql
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_NAME: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
|
||||||
|
DB_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
|
||||||
|
# Rabbitmq
|
||||||
|
AMQP_URI: amqp://guest:guest@onlyoffice-rabbitmq
|
||||||
|
# Redis
|
||||||
|
REDIS_SERVER_HOST: onlyoffice-redis
|
||||||
|
REDIS_SERVER_PORT: 6379
|
||||||
|
volumes:
|
||||||
|
- ./document/data:/var/www/onlyoffice/Data
|
||||||
|
- ./document/log:/var/log/onlyoffice
|
||||||
|
- ./document/fonts:/usr/share/fonts/truetype/custom
|
||||||
|
- ./document/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
|
||||||
|
- ./document/cache:/var/lib/onlyoffice
|
||||||
|
depends_on:
|
||||||
|
- onlyoffice-postgresql
|
||||||
|
- onlyoffice-rabbitmq
|
||||||
|
- onlyoffice-redis
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
onlyoffice-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: onlyoffice-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
|
||||||
|
POSTGRES_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
volumes:
|
||||||
|
- ./postgresql:/var/lib/postgresql:rw
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
onlyoffice-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: onlyoffice-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
onlyoffice-rabbitmq:
|
||||||
|
image: ${REGISTRY}/rabbitmq
|
||||||
|
container_name: onlyoffice-rabbitmq
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
|
||||||
|
# Onlyoffice Community Server
|
||||||
|
onlyoffice-community-server:
|
||||||
|
image: ${REGISTRY}/onlyoffice/communityserver
|
||||||
|
container_name: onlyoffice-community-server
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${ONLYOFFICE_CS_PORT:-80}:80
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
privileged: true
|
||||||
|
cgroup: host
|
||||||
|
environment:
|
||||||
|
ONLYOFFICE_CORE_MACHINEKEY: ${ONLYOFFICE_CS_MACHINEKEY:-onlyoffice}
|
||||||
|
|
||||||
|
CONTROL_PANEL_PORT_80_TCP_ADDR: onlyoffice-control-panel
|
||||||
|
CONTROL_PANEL_PORT_80_TCP: 80
|
||||||
|
|
||||||
|
DOCUMENT_SERVER_PORT_80_TCP_ADDR: onlyoffice-document-server
|
||||||
|
DOCUMENT_SERVER_JWT_ENABLED: true
|
||||||
|
DOCUMENT_SERVER_JWT_SECRET: ${ONLYOFFICE_DS_JWTSECRET:-onlyoffice}
|
||||||
|
DOCUMENT_SERVER_JWT_HEADER: ${ONLYOFFICE_DS_JWTHEADER:-onlyoffice}
|
||||||
|
|
||||||
|
MYSQL_SERVER_HOST: onlyoffice-mysql-server
|
||||||
|
MYSQL_SERVER_DB_NAME: ${ONLYOFFICE_CS_DBNAME:-onlyoffice}
|
||||||
|
MYSQL_SERVER_ROOT_PASSWORD: ${ONLYOFFICE_CS_DBROOT:-onlyoffice}
|
||||||
|
MYSQL_SERVER_USER: ${ONLYOFFICE_CS_DBUSER:-onlyoffice}
|
||||||
|
MYSQL_SERVER_PASS: ${ONLYOFFICE_CS_DBPASS:-onlyoffice}
|
||||||
|
|
||||||
|
REDIS_SERVER_HOST: onlyoffice-redis
|
||||||
|
|
||||||
|
ELASTICSEARCH_SERVER_HOST: onlyoffice-elasticsearch
|
||||||
|
ELASTICSEARCH_SERVER_HTTPPORT: 9200
|
||||||
|
volumes:
|
||||||
|
- ./community/data:/var/www/onlyoffice/Data
|
||||||
|
- ./community/log:/var/log/onlyoffice
|
||||||
|
- ./document/data:/var/www/onlyoffice/DocumentServerData
|
||||||
|
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||||
|
depends_on:
|
||||||
|
- onlyoffice-mysql-server
|
||||||
|
- onlyoffice-document-server
|
||||||
|
- onlyoffice-elasticsearch
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
dns:
|
||||||
|
- 127.0.0.53
|
||||||
|
onlyoffice-mysql-server:
|
||||||
|
image: ${REGISTRY}/mysql
|
||||||
|
container_name: onlyoffice-mysql-server
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: ${ONLYOFFICE_CS_DBROOT:-onlyoffice}
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- ./mysql/conf.d:/etc/mysql/conf.d
|
||||||
|
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
||||||
|
- ./mysql/data:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
onlyoffice-elasticsearch:
|
||||||
|
image: ${REGISTRY}/onlyoffice/elasticsearch
|
||||||
|
container_name: onlyoffice-elasticsearch
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- discovery.type=single-node
|
||||||
|
- bootstrap.memory_lock=true
|
||||||
|
- "ES_JAVA_OPTS=-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true"
|
||||||
|
- "indices.fielddata.cache.size=30%"
|
||||||
|
- "indices.memory.index_buffer_size=30%"
|
||||||
|
- "ingest.geoip.downloader.enabled=false"
|
||||||
|
ulimits:
|
||||||
|
memlock:
|
||||||
|
soft: -1
|
||||||
|
hard: -1
|
||||||
|
nofile:
|
||||||
|
soft: 65535
|
||||||
|
hard: 65535
|
||||||
|
volumes:
|
||||||
|
- ./elasticsearch:/usr/share/elasticsearch/data
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
onlyoffice-control-panel:
|
||||||
|
image: ${REGISTRY}/onlyoffice/controlpanel
|
||||||
|
container_name: onlyoffice-control-panel
|
||||||
|
restart: unless-stopped
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
ONLYOFFICE_CORE_MACHINEKEY: ${ONLYOFFICE_CS_MACHINEKEY:-onlyoffice}
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ./controlpanel/data:/var/www/onlyoffice/Data
|
||||||
|
- ./controlpanel/log:/var/log/onlyoffice
|
||||||
|
depends_on:
|
||||||
|
- onlyoffice-document-server
|
||||||
|
- onlyoffice-community-server
|
||||||
|
networks:
|
||||||
|
- workspace
|
||||||
|
|
||||||
|
networks:
|
||||||
|
workspace:
|
||||||
|
external: false
|
||||||
14
paperless/.env
Normal file
14
paperless/.env
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Paperless
|
||||||
|
PAPERLESS_PORT=
|
||||||
|
PAPERLESS_DBNAME=
|
||||||
|
PAPERLESS_DBUSER=
|
||||||
|
PAPERLESS_DBPASS=
|
||||||
|
PAPERLESS_URL=
|
||||||
|
PAPERLESS_SECRETKEY=
|
||||||
63
paperless/docker-compose.yaml
Normal file
63
paperless/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# paperless (https://github.com/paperless-ngx/paperless-ngx/blob/dev/docker/compose/docker-compose.postgres.yml)
|
||||||
|
paperless:
|
||||||
|
image: ${REGISTRY}/paperless-ngx
|
||||||
|
container_name: paperless
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${PAPERLESS_PORT:-8000}:8000
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
environment:
|
||||||
|
PAPERLESS_OCR_LANGUAGE: eng
|
||||||
|
|
||||||
|
PAPERLESS_REDIS: redis://paperless-redis:6379
|
||||||
|
|
||||||
|
PAPERLESS_DBHOST: paperless-postgresql
|
||||||
|
PAPERLESS_DBNAME: ${PAPERLESS_DBNAME:-paperless}
|
||||||
|
PAPERLESS_DBUSER: ${PAPERLESS_DBUSER:-paperless}
|
||||||
|
PAPERLESS_DBPASS: ${PAPERLESS_DBPASS:-paperless}
|
||||||
|
|
||||||
|
# PAPERLESS_URL: ${PAPERLESS_URL:-http://localhost:${PAPERLESS_PORT:-8000}}
|
||||||
|
PAPERLESS_CSRF_TRUSTED_ORIGINS: ${PAPERLESS_URL:-http://localhost:${PAPERLESS_PORT:-8000}}
|
||||||
|
|
||||||
|
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRETKEY:-paperless}
|
||||||
|
PAPERLESS_OCR_USER_ARGS: '{"invalidate_digital_signatures": true}'
|
||||||
|
volumes:
|
||||||
|
- ./data:/usr/src/paperless/data
|
||||||
|
- ./media:/usr/src/paperless/media
|
||||||
|
- ./export:/usr/src/paperless/export
|
||||||
|
- ./consume:/usr/src/paperless/consume
|
||||||
|
depends_on:
|
||||||
|
- paperless-postgresql
|
||||||
|
- paperless-redis
|
||||||
|
networks:
|
||||||
|
- paperless
|
||||||
|
paperless-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: paperless-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${PAPERLESS_DBNAME:-paperless}
|
||||||
|
POSTGRES_USER: ${PAPERLESS_DBUSER:-paperless}
|
||||||
|
POSTGRES_PASSWORD: ${PAPERLESS_DBPASS:-paperless}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- paperless
|
||||||
|
paperless-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: paperless-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- paperless
|
||||||
|
|
||||||
|
networks:
|
||||||
|
paperless:
|
||||||
|
external: false
|
||||||
10
passwordpusher/.env
Normal file
10
passwordpusher/.env
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# PasswordPusher
|
||||||
|
PWPUSHER_PORT=
|
||||||
|
PWPUSHER_TITLE=
|
||||||
24
passwordpusher/docker-compose.yaml
Normal file
24
passwordpusher/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# passwordpusher (https://github.com/pglombardo/PasswordPusher/blob/master/containers/docker/docker-compose-ephemeral.yml)
|
||||||
|
passwordpusher:
|
||||||
|
image: ${REGISTRY}/pwpush
|
||||||
|
container_name: passwordpusher
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${PWPUSHER_PORT:-5100}:5100
|
||||||
|
environment:
|
||||||
|
PWP__BRAND__TITLE: ${PWPUSHER_TITLE:-PasswordPusher}
|
||||||
|
PWP__PW__EXPIRE_AFTER_DAYS_DEFAULT: 1
|
||||||
|
PWP__PW__EXPIRE_AFTER_VIEWS_DEFAULT: 2
|
||||||
|
PWP__PW__ENABLE_RETRIEVAL_STEP: false
|
||||||
|
PWP__PW__ENABLE_DELETABLE_PUSHES: false
|
||||||
|
PWP__BRAND__SHOW_FOOTER_MENU: false
|
||||||
|
PWP__SHOW_GDPR_CONSENT_BANNER: false
|
||||||
|
PWP__GEN__SEPARATORS: '-'
|
||||||
|
networks:
|
||||||
|
- passwordpusher
|
||||||
|
|
||||||
|
networks:
|
||||||
|
passwordpusher:
|
||||||
|
external: false
|
||||||
11
pihole/.env
Normal file
11
pihole/.env
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Pi-hole
|
||||||
|
PIHOLE_PORT=
|
||||||
|
PIHOLE_PASS=
|
||||||
|
PIHOLE_HOSTIP=
|
||||||
39
pihole/docker-compose.yaml
Normal file
39
pihole/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/pi-hole/docker-pi-hole/
|
||||||
|
pihole:
|
||||||
|
container_name: pihole
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 53:53/tcp
|
||||||
|
- 53:53/udp
|
||||||
|
- ${PIHOLE_PORT}:80/tcp
|
||||||
|
environment:
|
||||||
|
TZ: UTC
|
||||||
|
WEBPASSWORD: ${PIHOLE_PASS}
|
||||||
|
FTLCONF_LOCAL_IPV4: ${PIHOLE_HOSTIP}
|
||||||
|
DNSMASQ_LISTENING: all
|
||||||
|
PIHOLE_DNS_: 172.21.200.3#53
|
||||||
|
volumes:
|
||||||
|
- ./pihole:/etc/pihole
|
||||||
|
- ./dnsmasq.d:/etc/dnsmasq.d
|
||||||
|
networks:
|
||||||
|
pihole:
|
||||||
|
ipv4_address: 172.21.200.2
|
||||||
|
|
||||||
|
unbound:
|
||||||
|
container_name: unbound
|
||||||
|
image: mvance/unbound:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
pihole:
|
||||||
|
ipv4_address: 172.21.200.3
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pihole:
|
||||||
|
name: pihole
|
||||||
|
ipam:
|
||||||
|
driver: default
|
||||||
|
config:
|
||||||
|
- subnet: 172.21.200.0/24
|
||||||
11
psitransfer/.env
Normal file
11
psitransfer/.env
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Psitransfer
|
||||||
|
PSITRANSFER_PORT=
|
||||||
|
PSITRANSFER_UPLOADPASS=
|
||||||
|
PSITRANSFER_SUBPATH=
|
||||||
26
psitransfer/docker-compose.yaml
Normal file
26
psitransfer/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# psitransfer (https://github.com/psi-4ward/psitransfer)
|
||||||
|
psitransfer:
|
||||||
|
image: ${REGISTRY}/psitransfer
|
||||||
|
container_name: psitransfer
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${PSITRANSFER_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
PSITRANSFER_PORT: 8080
|
||||||
|
PSITRANSFER_UPLOAD_PASS: ${PSITRANSFER_UPLOADPASS}
|
||||||
|
PSITRANSFER_BASE_URL: /${PSITRANSFER_SUBPATH}
|
||||||
|
PSITRANSFER_DEFAULT_RETENTION: 300 # or "one-time"
|
||||||
|
PSITRANSFER_RETENTIONS: '{"one-time":"One Time","300":"5 Minutes","3600":"1 Hour","86400":"1 Day","31536000":"1 Year"}'
|
||||||
|
PSITRANSFER_MAX_AGE: 31536000
|
||||||
|
PSITRANSFER_MAX_FILE_SIZE: 0
|
||||||
|
PSITRANSFER_MAX_BUCKET_SIZE: 0
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
networks:
|
||||||
|
- psitransfer
|
||||||
|
|
||||||
|
networks:
|
||||||
|
psitransfer:
|
||||||
|
external: false
|
||||||
9
qbittorrent/.env
Normal file
9
qbittorrent/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Qbittorrent
|
||||||
|
QBITTORRENT_PORT=
|
||||||
27
qbittorrent/docker-compose.yaml
Normal file
27
qbittorrent/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
qbittorrent-nox:
|
||||||
|
image: ${REGISTRY}/qbittorrent-nox
|
||||||
|
container_name: qbittorrent-nox
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${QBITTORRENT_PORT:-8080}:8080/tcp
|
||||||
|
- 6881:6881/tcp
|
||||||
|
- 6881:6881/udp
|
||||||
|
environment:
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 984
|
||||||
|
QBT_EULA: accept
|
||||||
|
QBT_VERSION: latest
|
||||||
|
QBT_WEBUI_PORT: 8080
|
||||||
|
stop_grace_period: 30m
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
- ./downloads:/downloads
|
||||||
|
networks:
|
||||||
|
- qbittorrent
|
||||||
|
|
||||||
|
networks:
|
||||||
|
qbittorrent:
|
||||||
|
external: false
|
||||||
9
redlib/.env
Normal file
9
redlib/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Redlib
|
||||||
|
REDLIB_PORT=
|
||||||
28
redlib/docker-compose.yaml
Normal file
28
redlib/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
redlib:
|
||||||
|
image: ${REGISTRY}/redlib
|
||||||
|
container_name: redlib
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${REDLIB_PORT:-8080}:8080
|
||||||
|
user: nobody
|
||||||
|
read_only: true
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
environment:
|
||||||
|
REDLIB_DEFAULT_SHOW_NSFW: on
|
||||||
|
REDLIB_DEFAULT_SUBSCRIPTIONS:
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
|
||||||
|
interval: 5m
|
||||||
|
timeout: 3s
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
# - seccomp=./seccomp-redlib.json
|
||||||
|
networks:
|
||||||
|
- redlib
|
||||||
|
|
||||||
|
networks:
|
||||||
|
redlib:
|
||||||
|
external: false
|
||||||
10
searxng/.env
Normal file
10
searxng/.env
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Searx
|
||||||
|
SEARX_PORT=
|
||||||
|
SEARX_URL=
|
||||||
46
searxng/docker-compose.yaml
Normal file
46
searxng/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# searx
|
||||||
|
searxng:
|
||||||
|
image: ${REGISTRY}/searxng
|
||||||
|
container_name: searxng
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${SEARX_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
SEARXNG_BASE_URL: ${SEARX_URL:-http://localhost:}
|
||||||
|
volumes:
|
||||||
|
- ./settings:/etc/searxng:rw
|
||||||
|
- ./searxng.png:/usr/local/searxng/searx/static/themes/simple/img/searxng.png
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
cap_add:
|
||||||
|
- CHOWN
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
logging:
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: 1
|
||||||
|
networks:
|
||||||
|
- searxng
|
||||||
|
searxng-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: searxng-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
command: redis-server --save 30 1 --loglevel warning
|
||||||
|
tmpfs:
|
||||||
|
- /var/lib/redis
|
||||||
|
cap_drop:
|
||||||
|
- ALL
|
||||||
|
cap_add:
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
networks:
|
||||||
|
- searxng
|
||||||
|
|
||||||
|
networks:
|
||||||
|
searxng:
|
||||||
|
external: false
|
||||||
10
send/.env
Normal file
10
send/.env
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Send
|
||||||
|
SEND_PORT=
|
||||||
|
SEND_TITLE=
|
||||||
43
send/docker-compose.yaml
Normal file
43
send/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# send (https://github.com/timvisee/send-docker-compose)
|
||||||
|
send:
|
||||||
|
image: ${REGISTRY}/send
|
||||||
|
container_name: send
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${SEND_PORT:-1443}:1443
|
||||||
|
volumes:
|
||||||
|
- ./uploads:/uploads
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
FILE_DIR: /uploads
|
||||||
|
DETECT_BASE_URL: true
|
||||||
|
CUSTOM_TITLE: ${SEND_TITLE:-Send}
|
||||||
|
|
||||||
|
EXPIRE_TIMES_SECONDS: 300,3600,86400,31536000
|
||||||
|
DEFAULT_EXPIRE_SECONDS: 300
|
||||||
|
MAX_EXPIRE_SECONDS: 31536000
|
||||||
|
|
||||||
|
DOWNLOAD_COUNTS: 1,3
|
||||||
|
DEFAULT_DOWNLOADS: 1
|
||||||
|
MAX_DOWNLOADS: 3
|
||||||
|
|
||||||
|
MAX_FILE_SIZE: 107374182400
|
||||||
|
REDIS_HOST: send-redis
|
||||||
|
depends_on:
|
||||||
|
- send-redis
|
||||||
|
networks:
|
||||||
|
- send
|
||||||
|
send-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: send-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- send
|
||||||
|
|
||||||
|
networks:
|
||||||
|
send:
|
||||||
|
external: false
|
||||||
14
shlink/.env
Normal file
14
shlink/.env
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Shlink
|
||||||
|
SHLINK_WEBUI_PORT=
|
||||||
|
SHLINK_PORT=
|
||||||
|
SHLINK_URL=
|
||||||
|
SHLINK_DBNAME=
|
||||||
|
SHLINK_DBUSER=
|
||||||
|
SHLINK_DBPASS=
|
||||||
62
shlink/docker-compose.yaml
Normal file
62
shlink/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/shlinkio/shlink/tree/develop
|
||||||
|
shlink-webui:
|
||||||
|
image: ${REGISTRY}/shlink-web-client
|
||||||
|
container_name: shlink-webui
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${SHLINK_WEBUI_PORT:-8081}:8080
|
||||||
|
volumes:
|
||||||
|
- ./servers.json:/usr/share/nginx/html/servers.json
|
||||||
|
networks:
|
||||||
|
- shlink
|
||||||
|
|
||||||
|
shlink:
|
||||||
|
image: ${REGISTRY}/shlink
|
||||||
|
container_name: shlink
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${SHLINK_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
DEFAULT_DOMAIN: ${SHLINK_URL:-http://localhost:${SHLINK_PORT:-8080}}
|
||||||
|
BASE_PATH: ${SHLINK_BASE_PATH:-/}
|
||||||
|
IS_HTTPS_ENABLED: true
|
||||||
|
DISABLE_TRACKING: true
|
||||||
|
|
||||||
|
DB_DRIVER: postgres
|
||||||
|
DB_HOST: shlink-postgresql
|
||||||
|
DB_NAME: ${SHLINK_DBNAME:-shlink}
|
||||||
|
DB_USER: ${SHLINK_DBUSER:-shlink}
|
||||||
|
DB_PASSWORD: ${SHLINK_DBPASS:-shlink}
|
||||||
|
|
||||||
|
REDIS_SERVERS: redis://shlink-redis:6379
|
||||||
|
REDIS_PUB_SUB_ENABLED: true
|
||||||
|
networks:
|
||||||
|
- shlink
|
||||||
|
|
||||||
|
shlink-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: shlink-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${SHLINK_DBNAME:-shlink}
|
||||||
|
POSTGRES_USER: ${SHLINK_DBUSER:-shlink}
|
||||||
|
POSTGRES_PASSWORD: ${SHLINK_DBPASS:-shlink}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- shlink
|
||||||
|
|
||||||
|
shlink-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: shlink-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- shlink
|
||||||
|
|
||||||
|
networks:
|
||||||
|
shlink:
|
||||||
|
external: false
|
||||||
9
stirling-pdf/.env
Normal file
9
stirling-pdf/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Stirling PDF
|
||||||
|
STIRLINGPDF_PORT=
|
||||||
20
stirling-pdf/docker-compose.yaml
Normal file
20
stirling-pdf/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/Stirling-Tools/Stirling-PDF
|
||||||
|
stirling-pdf:
|
||||||
|
image: ${REGISTRY}/s-pdf
|
||||||
|
container_name: stirling-pdf
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${STIRLINGPDF_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
DOCKER_ENABLE_SECURITY: true
|
||||||
|
volumes:
|
||||||
|
- ./tesseract-ocr:/usr/share/tesseract-ocr/5/tessdata
|
||||||
|
- ./config:/configs
|
||||||
|
networks:
|
||||||
|
- stirling-pdf
|
||||||
|
|
||||||
|
networks:
|
||||||
|
stirling-pdf:
|
||||||
|
external: false
|
||||||
13
tandoor/.env
Normal file
13
tandoor/.env
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Tandoor
|
||||||
|
TANDOOR_PORT=
|
||||||
|
TANDOOR_SECRETKEY=
|
||||||
|
TANDOOR_DBNAME=
|
||||||
|
TANDOOR_DBUSER=
|
||||||
|
TANDOOR_DBPASS=
|
||||||
43
tandoor/docker-compose.yaml
Normal file
43
tandoor/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# tandoor (https://docs.tandoor.dev/install/docker)
|
||||||
|
tandoor:
|
||||||
|
image: ${REGISTRY}/recipes
|
||||||
|
container_name: tandoor
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${TANDOOR_PORT:-8080}:8080
|
||||||
|
environment:
|
||||||
|
TZ: UTC
|
||||||
|
SECRET_KEY: ${TANDOOR_SECRETKEY:-tandoor}
|
||||||
|
|
||||||
|
# PostgreSQL
|
||||||
|
DB_ENGINE: django.db.backends.postgresql
|
||||||
|
POSTGRES_HOST: tandoor-postgresql
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
POSTGRES_DB: ${TANDOOR_DBNAME:-tandoor}
|
||||||
|
POSTGRES_USER: ${TANDOOR_DBUSER:-tandoor}
|
||||||
|
POSTGRES_PASSWORD: ${TANDOOR_DBPASS:-tandoor}
|
||||||
|
volumes:
|
||||||
|
- ./staticfiles:/opt/recipes/staticfiles
|
||||||
|
- ./mediafiles:/opt/recipes/mediafiles
|
||||||
|
depends_on:
|
||||||
|
- tandoor-postgresql
|
||||||
|
networks:
|
||||||
|
- tandoor
|
||||||
|
tandoor-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: tandoor-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${TANDOOR_DBNAME:-tandoor}
|
||||||
|
POSTGRES_USER: ${TANDOOR_DBUSER:-tandoor}
|
||||||
|
POSTGRES_PASSWORD: ${TANDOOR_DBPASS:-tandoor}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- tandoor
|
||||||
|
|
||||||
|
networks:
|
||||||
|
tandoor:
|
||||||
|
external: false
|
||||||
9
usememos/.env
Normal file
9
usememos/.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Memos
|
||||||
|
MEMOS_PORT=
|
||||||
17
usememos/docker-compose.yaml
Normal file
17
usememos/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# memos (https://www.usememos.com/docs/install/self-hosting)
|
||||||
|
memos:
|
||||||
|
image: ${REGISTRY}/memos
|
||||||
|
container_name: memos
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${MEMOS_PORT:-5230}:5230
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/opt/memos
|
||||||
|
networks:
|
||||||
|
- memos
|
||||||
|
|
||||||
|
networks:
|
||||||
|
memos:
|
||||||
|
external: false
|
||||||
11
vaultwarden/.env
Normal file
11
vaultwarden/.env
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Vaultwarden
|
||||||
|
VAULTWARDEN_PORT=
|
||||||
|
VAULTWARDEN_URL=
|
||||||
|
VAULTWARDEN_DBPASS=
|
||||||
36
vaultwarden/docker-compose.yaml
Normal file
36
vaultwarden/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# https://github.com/dani-garcia/vaultwarden
|
||||||
|
vaultwarden:
|
||||||
|
container_name: vaultwarden
|
||||||
|
image: ${REGISTRY}/vaultwarden
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${VAULTWARDEN_PORT:-80}:80
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgresql://${VAULTWARDEN_DBUSER:-vaultwarden}:${VAULTWARDEN_DBPASS:-vaultwarden}@vaultwarden-postgresql:5432/${VAULTWARDEN_DBNAME:-vaultwarden}
|
||||||
|
DOMAIN: ${VAULTWARDEN_URL:-http://localhost:${VAULTWARDEN_PORT:-80}}
|
||||||
|
TRASH_AUTO_DELETE_DAYS: 30
|
||||||
|
SIGNUPS_ALLOWED: false
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
depends_on:
|
||||||
|
- vaultwarden-postgresql
|
||||||
|
networks:
|
||||||
|
- vaultwarden
|
||||||
|
vaultwarden-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: vaultwarden-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${VAULTWARDEN_DBNAME:-vaultwarden}
|
||||||
|
POSTGRES_USER: ${VAULTWARDEN_DBUSER:-vaultwarden}
|
||||||
|
POSTGRES_PASSWORD: ${VAULTWARDEN_DBPASS:-vaultwarden}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- vaultwarden
|
||||||
|
|
||||||
|
networks:
|
||||||
|
vaultwarden:
|
||||||
|
external: false
|
||||||
14
vikunja/.env
Normal file
14
vikunja/.env
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Environment file for docker-compose.yaml
|
||||||
|
# Generate new passwords with:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
|
||||||
|
# Fill in registry
|
||||||
|
REGISTRY=
|
||||||
|
|
||||||
|
# Vikunja
|
||||||
|
VIKUNJA_PORT=
|
||||||
|
VIKUNJA_DBNAME=
|
||||||
|
VIKUNJA_DBUSER=
|
||||||
|
VIKUNJA_DBPASS=
|
||||||
|
VIKUNJA_JWTSECRET=
|
||||||
|
VIKUNJA_URL=
|
||||||
64
vikunja/docker-compose.yaml
Normal file
64
vikunja/docker-compose.yaml
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
# vikunja (https://vikunja.io/docs/docker-walkthrough)
|
||||||
|
# https://vikunja.io/docs/cli/#user
|
||||||
|
# Usage:
|
||||||
|
# $ vikunja user create <flags>
|
||||||
|
# Flags:
|
||||||
|
# -a, --avatar-provider: The avatar provider of the new user. Optional.
|
||||||
|
# -e, --email: The email address of the new user.
|
||||||
|
# -p, --password: The password of the new user. You will be asked to enter it if not provided through the flag.
|
||||||
|
# -u, --username: The username of the new user.
|
||||||
|
vikunja:
|
||||||
|
image: ${REGISTRY}/vikunja
|
||||||
|
container_name: vikunja
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- ${VIKUNJA_PORT:-3456}:3456
|
||||||
|
environment:
|
||||||
|
VIKUNJA_DATABASE_TYPE: postgres
|
||||||
|
VIKUNJA_DATABASE_HOST: vikunja-postgresql
|
||||||
|
VIKUNJA_DATABASE_DATABASE: ${VIKUNJA_DBNAME:-vikunja}
|
||||||
|
VIKUNJA_DATABASE_USER: ${VIKUNJA_DBUSER:-vikunja}
|
||||||
|
VIKUNJA_DATABASE_PASSWORD: ${VIKUNJA_DBPASS:-vikunja}
|
||||||
|
|
||||||
|
VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_JWTSECRET:-vikunja}
|
||||||
|
|
||||||
|
VIKUNJA_CACHE_ENABLED: 1
|
||||||
|
VIKUNJA_CACHE_TYPE: redis
|
||||||
|
VIKUNJA_REDIS_ENABLED: 1
|
||||||
|
VIKUNJA_REDIS_HOST: vikunja-redis:6379
|
||||||
|
|
||||||
|
VIKUNJA_SERVICE_FRONTENDURL: ${VIKUNJA_URL:-http://localhost:${VIKUNJA_PORT:-3456}}
|
||||||
|
VIKUNJA_SERVICE_ENABLEREGISTRATION: false
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/vikunja/files
|
||||||
|
depends_on:
|
||||||
|
- vikunja-postgresql
|
||||||
|
- vikunja-redis
|
||||||
|
networks:
|
||||||
|
- vikunja
|
||||||
|
vikunja-postgresql:
|
||||||
|
image: ${REGISTRY}/postgres
|
||||||
|
container_name: vikunja-postgresql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${VIKUNJA_DBNAME:-vikunja}
|
||||||
|
POSTGRES_USER: ${VIKUNJA_DBUSER:-vikunja}
|
||||||
|
POSTGRES_PASSWORD: ${VIKUNJA_DBPASS:-vikunja}
|
||||||
|
volumes:
|
||||||
|
- ./sql:/var/lib/postgresql/data:rw
|
||||||
|
networks:
|
||||||
|
- vikunja
|
||||||
|
vikunja-redis:
|
||||||
|
image: ${REGISTRY}/valkey
|
||||||
|
container_name: vikunja-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- vikunja
|
||||||
|
|
||||||
|
networks:
|
||||||
|
vikunja:
|
||||||
|
external: false
|
||||||
Loading…
Add table
Add a link
Reference in a new issue