new files from source
This commit is contained in:
132 files changed
+5335
No files matched your search
@@ -0,0 +1,18 @@
|
||||
services:
|
||||
actual_server:
|
||||
image: actualbudget/actual-server:latest
|
||||
container_name: actual
|
||||
ports:
|
||||
- 5006:5006
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
# Uncomment any of the lines below to set configuration options.
|
||||
# - ACTUAL_HTTPS_KEY=/data/selfhost.key
|
||||
# - ACTUAL_HTTPS_CERT=/data/selfhost.crt
|
||||
# See all options and more details at https://actualbudget.github.io/docs/Installing/Configuration
|
||||
# !! If you are not using any of these options, remove the 'environment:' tag entirely.
|
||||
volumes:
|
||||
- /path/to/actual-data:/data
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,19 @@
|
||||
airsonic-advanced:
|
||||
image: lscr.io/linuxserver/airsonic-advanced:latest
|
||||
container_name: airsonic-advanced
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID # Note that if you want to use Airsonic's Java jukebox player, then PGID will need to match the group of your sound device (e.g. /dev/snd).
|
||||
- TZ=timezone
|
||||
volumes:
|
||||
- /path/toairsonic-advanced:/config
|
||||
- /path/to/music:/music
|
||||
- /path/to/playlists:/playlists
|
||||
- /path/to/audiobooks:/audiobooks
|
||||
- </path/to/other media:/media #optional
|
||||
ports:
|
||||
- 4040:4040
|
||||
- 4041:4041
|
||||
devices:
|
||||
- /dev/snd:/dev/snd #need this to enable jukebox mode on the server
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
|
||||
services:
|
||||
postgresql:
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||
start_period: 20s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
timeout: 5s
|
||||
volumes:
|
||||
- /path/to/authentik/database:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
|
||||
POSTGRES_USER: ${PG_USER:-authentik}
|
||||
POSTGRES_DB: ${PG_DB:-authentik}
|
||||
env_file:
|
||||
- .env
|
||||
redis:
|
||||
image: docker.io/library/redis:alpine
|
||||
command: --save 60 1 --loglevel warning
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||
start_period: 20s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
timeout: 3s
|
||||
volumes:
|
||||
- /path/to/authentik/redis:/data
|
||||
server:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.4.2}
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
environment:
|
||||
AUTHENTIK_REDIS__HOST: redis
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
volumes:
|
||||
- /path/to/authentik/media:/media
|
||||
- /path/to/authentik/custom-templates:/templates
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "${HTTP_PORT}:9000"
|
||||
- "${HTTPS_PORT}:9443"
|
||||
depends_on:
|
||||
- postgresql
|
||||
- redis
|
||||
worker:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.4.2}
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
environment:
|
||||
AUTHENTIK_REDIS__HOST: redis
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
user: root
|
||||
volumes:
|
||||
- /path/to/authentik/var/run/docker.sock:/var/run/docker.sock
|
||||
- /path/to/authentik/media:/media
|
||||
- /path/to/authentik/certs:/certs
|
||||
- /path/to/authentik/custom-templates:/templates
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgresql
|
||||
- redis
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
services:
|
||||
bookstack:
|
||||
image: lscr.io/linuxserver/bookstack
|
||||
container_name: bookstack
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- APP_URL=https://subdomain.example.com
|
||||
- DB_HOST=bookstack_db
|
||||
- DB_PORT=${DB_PORT}
|
||||
- DB_USER=${DB_USER}
|
||||
- DB_PASS=${DB_PASS}
|
||||
- DB_DATABASE=${DB_DATABASE}
|
||||
- APP_DEFAULT_DARK_MODE=true
|
||||
volumes:
|
||||
- /path/to/bookstack/bookstack_app_data:/config
|
||||
ports:
|
||||
- ${HTTP_PORT}:80
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- bookstack_db
|
||||
|
||||
bookstack_db:
|
||||
image: lscr.io/linuxserver/mariadb
|
||||
container_name: bookstack_db
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
volumes:
|
||||
- /path/to/bookstack/bookstack_db_data:/config
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,15 @@
|
||||
version: '3'
|
||||
services:
|
||||
calibre-web:
|
||||
image: lscr.io/linuxserver/calibre-web:latest
|
||||
container_name: calibre-web
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
volumes:
|
||||
- /path/to/calibre-web:/config
|
||||
- /path/to/books:/books
|
||||
ports:
|
||||
- 8083:8083
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,18 @@
|
||||
version: '3'
|
||||
services:
|
||||
calibre:
|
||||
image: lscr.io/linuxserver/calibre:latest
|
||||
container_name: calibre
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
- CUSTOM_USER=user
|
||||
- PASSWORD=password
|
||||
volumes:
|
||||
- /path/to/calibre:/config
|
||||
- /path/to/books:/books
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 8081:8081
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,10 @@
|
||||
services:
|
||||
cloudcmd:
|
||||
image: coderaiser/cloudcmd
|
||||
container_name: cloudcmd
|
||||
ports:
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- ~:/root
|
||||
- /:/mnt/fs
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,26 @@
|
||||
services:
|
||||
diun:
|
||||
image: crazymax/diun:latest
|
||||
container_name: diun
|
||||
command: serve
|
||||
volumes:
|
||||
- /path/to/diun/data:/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- LOG_LEVEL=info
|
||||
- DIUN_WATCH_WORKERS=20
|
||||
- DIUN_WATCH_SCHEDULE=0 7 * * MON ### At 07:00 AM, only on Monday
|
||||
- DIUN_WATCH_JITTER=30s
|
||||
- DIUN_WATCH_RUNONSTARTUP=true
|
||||
- DIUN_PROVIDERS_DOCKER=true
|
||||
- DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true
|
||||
- DIUN_NOTIF_GOTIFY_ENDPOINT=${DIUN_NOTIF_GOTIFY_ENDPOINT}
|
||||
- DIUN_NOTIF_GOTIFY_TOKEN=${DIUN_NOTIF_GOTIFY_TOKEN}
|
||||
- DIUN_NOTIF_GOTIFY_PRIORITY=1
|
||||
- DIUN_NOTIF_GOTIFY_TIMEOUT=10s
|
||||
labels:
|
||||
- diun.enable=true
|
||||
restart: always
|
||||
@@ -0,0 +1,24 @@
|
||||
services:
|
||||
node_exporter:
|
||||
image: quay.io/prometheus/node-exporter:latest
|
||||
container_name: node_exporter
|
||||
command:
|
||||
- "--path.rootfs=/host"
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "/:/host:ro,rslave"
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
ports:
|
||||
- "8080:8080"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /dev/disk/:/dev/disk:ro
|
||||
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
duplicati:
|
||||
image: lscr.io/linuxserver/duplicati:latest
|
||||
container_name: duplicati
|
||||
environment:
|
||||
- PUID=PUID #setting PUID as 0 (root) is required to give permissions for all tasks
|
||||
- PGID=PGID #setting PGID as 0 (root) is required to give permissions for all tasks
|
||||
- TZ=timezone
|
||||
volumes:
|
||||
- /path/to/appdata/config:/config
|
||||
- /path/to/backups:/backups
|
||||
- /path/to/source:/source
|
||||
ports:
|
||||
- 8200:8200
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,20 @@
|
||||
services:
|
||||
gitlab:
|
||||
image: gitlab/gitlab-ce:latest
|
||||
container_name: gitlab
|
||||
restart: always
|
||||
hostname: "gitlab.example.com"
|
||||
environment:
|
||||
GITLAB_OMNIBUS_CONFIG: |
|
||||
# Add any other gitlab.rb configuration here, each on its own line
|
||||
external_url 'http://gitlab.example.com:8929'
|
||||
gitlab_rails['gitlab_shell_ssh_port'] = 2424
|
||||
ports:
|
||||
- "${HTTP_PORT}:80"
|
||||
- "${HTTPS_PORT}:443"
|
||||
- "${SSH_PORT}:22"
|
||||
volumes:
|
||||
- "/path/to/gitlab/config:/etc/gitlab"
|
||||
- "/path/to/gitlab/logs:/var/log/gitlab"
|
||||
- "/path/to/gitlab/data:/var/opt/gitlab"
|
||||
shm_size: "2gb"
|
||||
@@ -0,0 +1,16 @@
|
||||
services:
|
||||
gotify:
|
||||
image: gotify/server
|
||||
container_name: gotify
|
||||
ports:
|
||||
- ${HTTP_PORT}:80
|
||||
- ${HTTPS_PORT}:443
|
||||
volumes:
|
||||
- /path/to/gotify:/app/data
|
||||
restart: always
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
@@ -0,0 +1,60 @@
|
||||
services:
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus
|
||||
restart: unless-stopped
|
||||
user: "PUID"
|
||||
environment:
|
||||
- PUID:PUID
|
||||
- PGID:PGID
|
||||
ports:
|
||||
- 9090:9090
|
||||
volumes:
|
||||
- /path/to/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- /path/to/prometheus/prometheus-data:/prometheus
|
||||
command:
|
||||
- "--web.enable-lifecycle"
|
||||
- "--config.file=/etc/prometheus/prometheus.yml"
|
||||
|
||||
node_exporter:
|
||||
image: quay.io/prometheus/node-exporter:latest
|
||||
container_name: node_exporter
|
||||
command:
|
||||
- "--path.rootfs=/host"
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "/:/host:ro,rslave"
|
||||
|
||||
grafana:
|
||||
container_name: grafana
|
||||
image: grafana/grafana-oss:latest
|
||||
ports:
|
||||
- 3000:3000
|
||||
user: "0"
|
||||
volumes:
|
||||
- /path/to/grafana-data:/var/lib/grafana
|
||||
restart: unless-stopped
|
||||
|
||||
pve-exporter:
|
||||
image: prompve/prometheus-pve-exporter:latest
|
||||
container_name: pve-exporter
|
||||
ports:
|
||||
- "9221:9221"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /path/to/pve/pve.yml:/etc/prometheus/pve.yml
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
ports:
|
||||
- "8080:8080"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /dev/disk/:/dev/disk:ro
|
||||
@@ -0,0 +1,14 @@
|
||||
version: '3'
|
||||
services:
|
||||
grocy:
|
||||
image: lscr.io/linuxserver/grocy
|
||||
container_name: grocy
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
volumes:
|
||||
- /path/to/grocy:/config
|
||||
ports:
|
||||
- 80:80
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,33 @@
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: home-assistant
|
||||
image: "ghcr.io/home-assistant/home-assistant:stable"
|
||||
volumes:
|
||||
- /path/to/home-assistant/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${HTTP_PORT}:8123
|
||||
depends_on:
|
||||
- homeassistant-db
|
||||
privileged: true
|
||||
|
||||
homeassistant-db:
|
||||
image: docker.io/postgres:16.3
|
||||
container_name: homeassistant-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
# ensure the database gets created correctly
|
||||
# https://github.com/matrix-org/synapse/blob/master/docs/postgres.md#set-up-database
|
||||
- POSTGRES_INITDB_ARGS=--encoding=UTF-8
|
||||
volumes:
|
||||
- /path/to/home-assistant/schemas:/var/lib/postgresql/data
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -0,0 +1,7 @@
|
||||
services:
|
||||
it-tools:
|
||||
image: 'corentinth/it-tools:latest'
|
||||
ports:
|
||||
- '${HTTP_PORT}:80'
|
||||
restart: unless-stopped
|
||||
container_name: it-tools
|
||||
@@ -0,0 +1,79 @@
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
command: [ "start.sh", "immich" ]
|
||||
volumes:
|
||||
- /path/to/upload:/usr/src/app/upload
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- ${HTTP_PORT}:3001
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
|
||||
immich-microservices:
|
||||
container_name: immich_microservices
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
extends:
|
||||
file: hwaccel.yml
|
||||
service: hwaccel
|
||||
command: [ "start.sh", "microservices" ]
|
||||
volumes:
|
||||
- /path/to/upload:/usr/src/app/upload
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||||
volumes:
|
||||
- /path/to/immich/model-cache:/cache
|
||||
env_file:
|
||||
- .env
|
||||
restart: always
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
|
||||
restart: always
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||
- POSTGRES_USER=${DB_USERNAME}
|
||||
- POSTGRES_DB=${DB_DATABASE_NAME}
|
||||
volumes:
|
||||
- /path/to/immich/pgdata:/var/lib/postgresql/data
|
||||
restart: always
|
||||
|
||||
## there is a known issue with Traefik: see here https://github.com/immich-app/immich/discussions/437#discussioncomment-3609797
|
||||
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
jenkins-master:
|
||||
image: jenkins/jenkins:latest
|
||||
container_name: jenkins-master
|
||||
privileged: true
|
||||
user: root
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 50000:50000
|
||||
volumes:
|
||||
- /path/to/jenkins/jenkins-data:/var/jenkins_home
|
||||
- /path/to/jenkins/var/run/docker.sock:/var/run/docker.sock
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -0,0 +1,447 @@
|
||||
services:
|
||||
# Frontend
|
||||
web:
|
||||
image: jitsi/web:${JITSI_IMAGE_VERSION:-stable-9457-2}
|
||||
restart: ${RESTART_POLICY:-unless-stopped}
|
||||
ports:
|
||||
- '${HTTP_PORT}:80'
|
||||
- '${HTTPS_PORT}:443'
|
||||
volumes:
|
||||
- ${CONFIG}/web:/config:Z
|
||||
- ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
|
||||
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
||||
environment:
|
||||
- AMPLITUDE_ID
|
||||
- ANALYTICS_SCRIPT_URLS
|
||||
- ANALYTICS_WHITELISTED_EVENTS
|
||||
- AUDIO_QUALITY_OPUS_BITRATE
|
||||
- AUTO_CAPTION_ON_RECORD
|
||||
- BRANDING_DATA_URL
|
||||
- BOSH_RELATIVE
|
||||
- CHROME_EXTENSION_BANNER_JSON
|
||||
- COLIBRI_WEBSOCKET_PORT
|
||||
- COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME
|
||||
- COLIBRI_WEBSOCKET_REGEX
|
||||
- CONFCODE_URL
|
||||
- CORS_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
- DEFAULT_LANGUAGE
|
||||
- DEPLOYMENTINFO_ENVIRONMENT
|
||||
- DEPLOYMENTINFO_ENVIRONMENT_TYPE
|
||||
- DEPLOYMENTINFO_REGION
|
||||
- DEPLOYMENTINFO_SHARD
|
||||
- DEPLOYMENTINFO_USERREGION
|
||||
- DESKTOP_SHARING_FRAMERATE_AUTO
|
||||
- DESKTOP_SHARING_FRAMERATE_MIN
|
||||
- DESKTOP_SHARING_FRAMERATE_MAX
|
||||
- DIALIN_NUMBERS_URL
|
||||
- DIALOUT_AUTH_URL
|
||||
- DIALOUT_CODES_URL
|
||||
- DISABLE_AUDIO_LEVELS
|
||||
- DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP
|
||||
- DISABLE_DEEP_LINKING
|
||||
- DISABLE_GRANT_MODERATOR
|
||||
- DISABLE_HTTPS
|
||||
- DISABLE_KICKOUT
|
||||
- DISABLE_LOCAL_RECORDING
|
||||
- DISABLE_POLLS
|
||||
- DISABLE_PRIVATE_CHAT
|
||||
- DISABLE_PROFILE
|
||||
- DISABLE_REACTIONS
|
||||
- DISABLE_REMOTE_VIDEO_MENU
|
||||
- DISABLE_START_FOR_ALL
|
||||
- DROPBOX_APPKEY
|
||||
- DROPBOX_REDIRECT_URI
|
||||
- DYNAMIC_BRANDING_URL
|
||||
- ENABLE_AUDIO_PROCESSING
|
||||
- ENABLE_AUTH
|
||||
- ENABLE_AUTH_DOMAIN
|
||||
- ENABLE_BREAKOUT_ROOMS
|
||||
- ENABLE_CALENDAR
|
||||
- ENABLE_COLIBRI_WEBSOCKET
|
||||
- ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX
|
||||
- ENABLE_E2EPING
|
||||
- ENABLE_FILE_RECORDING_SHARING
|
||||
- ENABLE_GUESTS
|
||||
- ENABLE_HSTS
|
||||
- ENABLE_HTTP_REDIRECT
|
||||
- ENABLE_IPV6
|
||||
- ENABLE_LETSENCRYPT
|
||||
- ENABLE_NO_AUDIO_DETECTION
|
||||
- ENABLE_NOISY_MIC_DETECTION
|
||||
- ENABLE_OCTO
|
||||
- ENABLE_OPUS_RED
|
||||
- ENABLE_PREJOIN_PAGE
|
||||
- ENABLE_P2P
|
||||
- ENABLE_WELCOME_PAGE
|
||||
- ENABLE_CLOSE_PAGE
|
||||
- ENABLE_LIVESTREAMING
|
||||
- ENABLE_LIVESTREAMING_DATA_PRIVACY_LINK
|
||||
- ENABLE_LIVESTREAMING_HELP_LINK
|
||||
- ENABLE_LIVESTREAMING_TERMS_LINK
|
||||
- ENABLE_LIVESTREAMING_VALIDATOR_REGEXP_STRING
|
||||
- ENABLE_LOAD_TEST_CLIENT
|
||||
- ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
|
||||
- ENABLE_LOCAL_RECORDING_SELF_START
|
||||
- ENABLE_RECORDING
|
||||
- ENABLE_REMB
|
||||
- ENABLE_REQUIRE_DISPLAY_NAME
|
||||
- ENABLE_SERVICE_RECORDING
|
||||
- ENABLE_SIMULCAST
|
||||
- ENABLE_STATS_ID
|
||||
- ENABLE_STEREO
|
||||
- ENABLE_SUBDOMAINS
|
||||
- ENABLE_TALK_WHILE_MUTED
|
||||
- ENABLE_TCC
|
||||
- ENABLE_TRANSCRIPTIONS
|
||||
- ENABLE_XMPP_WEBSOCKET
|
||||
- ENABLE_JAAS_COMPONENTS
|
||||
- ETHERPAD_PUBLIC_URL
|
||||
- ETHERPAD_URL_BASE
|
||||
- E2EPING_NUM_REQUESTS
|
||||
- E2EPING_MAX_CONFERENCE_SIZE
|
||||
- E2EPING_MAX_MESSAGE_PER_SECOND
|
||||
- GOOGLE_ANALYTICS_ID
|
||||
- GOOGLE_API_APP_CLIENT_ID
|
||||
- HIDE_PREMEETING_BUTTONS
|
||||
- HIDE_PREJOIN_DISPLAY_NAME
|
||||
- HIDE_PREJOIN_EXTRA_BUTTONS
|
||||
- INVITE_SERVICE_URL
|
||||
- JVB_PREFER_SCTP
|
||||
- LETSENCRYPT_DOMAIN
|
||||
- LETSENCRYPT_EMAIL
|
||||
- LETSENCRYPT_USE_STAGING
|
||||
- MATOMO_ENDPOINT
|
||||
- MATOMO_SITE_ID
|
||||
- MICROSOFT_API_APP_CLIENT_ID
|
||||
- NGINX_RESOLVER
|
||||
- NGINX_WORKER_PROCESSES
|
||||
- NGINX_WORKER_CONNECTIONS
|
||||
- PEOPLE_SEARCH_URL
|
||||
- PREFERRED_LANGUAGE
|
||||
- PUBLIC_URL
|
||||
- P2P_PREFERRED_CODEC
|
||||
- RESOLUTION
|
||||
- RESOLUTION_MIN
|
||||
- RESOLUTION_WIDTH
|
||||
- RESOLUTION_WIDTH_MIN
|
||||
- START_AUDIO_MUTED
|
||||
- START_AUDIO_ONLY
|
||||
- START_SILENT
|
||||
- START_WITH_AUDIO_MUTED
|
||||
- START_VIDEO_MUTED
|
||||
- START_WITH_VIDEO_MUTED
|
||||
- TESTING_AV1_SUPPORT
|
||||
- TOKEN_AUTH_URL
|
||||
- TOOLBAR_BUTTONS
|
||||
- TRANSLATION_LANGUAGES
|
||||
- TRANSLATION_LANGUAGES_HEAD
|
||||
- TZ
|
||||
- USE_APP_LANGUAGE
|
||||
- VIDEOQUALITY_BITRATE_H264_LOW
|
||||
- VIDEOQUALITY_BITRATE_H264_STANDARD
|
||||
- VIDEOQUALITY_BITRATE_H264_HIGH
|
||||
- VIDEOQUALITY_BITRATE_H264_FULL
|
||||
- VIDEOQUALITY_BITRATE_H264_ULTRA
|
||||
- VIDEOQUALITY_BITRATE_H264_SS_HIGH
|
||||
- VIDEOQUALITY_BITRATE_VP8_LOW
|
||||
- VIDEOQUALITY_BITRATE_VP8_STANDARD
|
||||
- VIDEOQUALITY_BITRATE_VP8_HIGH
|
||||
- VIDEOQUALITY_BITRATE_VP8_FULL
|
||||
- VIDEOQUALITY_BITRATE_VP8_ULTRA
|
||||
- VIDEOQUALITY_BITRATE_VP8_SS_HIGH
|
||||
- VIDEOQUALITY_BITRATE_VP9_LOW
|
||||
- VIDEOQUALITY_BITRATE_VP9_STANDARD
|
||||
- VIDEOQUALITY_BITRATE_VP9_HIGH
|
||||
- VIDEOQUALITY_BITRATE_VP9_FULL
|
||||
- VIDEOQUALITY_BITRATE_VP9_ULTRA
|
||||
- VIDEOQUALITY_BITRATE_VP9_SS_HIGH
|
||||
- VIDEOQUALITY_BITRATE_AV1_LOW
|
||||
- VIDEOQUALITY_BITRATE_AV1_STANDARD
|
||||
- VIDEOQUALITY_BITRATE_AV1_HIGH
|
||||
- VIDEOQUALITY_BITRATE_AV1_FULL
|
||||
- VIDEOQUALITY_BITRATE_AV1_ULTRA
|
||||
- VIDEOQUALITY_BITRATE_AV1_SS_HIGH
|
||||
- VIDEOQUALITY_PREFERRED_CODEC
|
||||
- XMPP_AUTH_DOMAIN
|
||||
- XMPP_BOSH_URL_BASE
|
||||
- XMPP_DOMAIN
|
||||
- XMPP_GUEST_DOMAIN
|
||||
- XMPP_MUC_DOMAIN
|
||||
- XMPP_RECORDER_DOMAIN
|
||||
- XMPP_PORT
|
||||
- WHITEBOARD_ENABLED
|
||||
- WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
|
||||
depends_on:
|
||||
- jvb
|
||||
|
||||
# XMPP server
|
||||
prosody:
|
||||
image: jitsi/prosody:${JITSI_IMAGE_VERSION:-stable-9457-2}
|
||||
restart: ${RESTART_POLICY:-unless-stopped}
|
||||
expose:
|
||||
- '${XMPP_PORT:-5222}'
|
||||
- '${PROSODY_S2S_PORT:-5269}'
|
||||
- '5347'
|
||||
- '${PROSODY_HTTP_PORT:-5280}'
|
||||
volumes:
|
||||
- ${CONFIG}/prosody/config:/config:Z
|
||||
- ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
||||
environment:
|
||||
- AUTH_TYPE
|
||||
- DISABLE_POLLS
|
||||
- ENABLE_AUTH
|
||||
- ENABLE_AV_MODERATION
|
||||
- ENABLE_BREAKOUT_ROOMS
|
||||
- ENABLE_END_CONFERENCE
|
||||
- ENABLE_GUESTS
|
||||
- ENABLE_IPV6
|
||||
- ENABLE_LOBBY
|
||||
- ENABLE_RECORDING
|
||||
- ENABLE_S2S
|
||||
- ENABLE_VISITORS
|
||||
- ENABLE_XMPP_WEBSOCKET
|
||||
- ENABLE_JAAS_COMPONENTS
|
||||
- GC_TYPE
|
||||
- GC_INC_TH
|
||||
- GC_INC_SPEED
|
||||
- GC_INC_STEP_SIZE
|
||||
- GC_GEN_MIN_TH
|
||||
- GC_GEN_MAX_TH
|
||||
- GLOBAL_CONFIG
|
||||
- GLOBAL_MODULES
|
||||
- JIBRI_RECORDER_USER
|
||||
- JIBRI_RECORDER_PASSWORD
|
||||
- JIBRI_SIP_BREWERY_MUC
|
||||
- JIBRI_XMPP_USER
|
||||
- JIBRI_XMPP_PASSWORD
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- JICOFO_COMPONENT_SECRET
|
||||
- JIGASI_XMPP_USER
|
||||
- JIGASI_XMPP_PASSWORD
|
||||
- JVB_AUTH_USER
|
||||
- JVB_AUTH_PASSWORD
|
||||
- JWT_APP_ID
|
||||
- JWT_APP_SECRET
|
||||
- JWT_ACCEPTED_ISSUERS
|
||||
- JWT_ACCEPTED_AUDIENCES
|
||||
- JWT_ASAP_KEYSERVER
|
||||
- JWT_ALLOW_EMPTY
|
||||
- JWT_AUTH_TYPE
|
||||
- JWT_ENABLE_DOMAIN_VERIFICATION
|
||||
- JWT_SIGN_TYPE
|
||||
- JWT_TOKEN_AUTH_MODULE
|
||||
- MATRIX_UVS_URL
|
||||
- MATRIX_UVS_ISSUER
|
||||
- MATRIX_UVS_AUTH_TOKEN
|
||||
- MATRIX_UVS_SYNC_POWER_LEVELS
|
||||
- MATRIX_LOBBY_BYPASS
|
||||
- LOG_LEVEL
|
||||
- LDAP_AUTH_METHOD
|
||||
- LDAP_BASE
|
||||
- LDAP_BINDDN
|
||||
- LDAP_BINDPW
|
||||
- LDAP_FILTER
|
||||
- LDAP_VERSION
|
||||
- LDAP_TLS_CIPHERS
|
||||
- LDAP_TLS_CHECK_PEER
|
||||
- LDAP_TLS_CACERT_FILE
|
||||
- LDAP_TLS_CACERT_DIR
|
||||
- LDAP_START_TLS
|
||||
- LDAP_URL
|
||||
- LDAP_USE_TLS
|
||||
- MAX_PARTICIPANTS
|
||||
- PROSODY_ADMINS
|
||||
- PROSODY_AUTH_TYPE
|
||||
- PROSODY_C2S_LIMIT
|
||||
- PROSODY_C2S_REQUIRE_ENCRYPTION
|
||||
- PROSODY_RESERVATION_ENABLED
|
||||
- PROSODY_RESERVATION_REST_BASE_URL
|
||||
- PROSODY_ENABLE_RATE_LIMITS
|
||||
- PROSODY_ENABLE_S2S
|
||||
- PROSODY_GUEST_AUTH_TYPE
|
||||
- PROSODY_HTTP_PORT
|
||||
- PROSODY_LOG_CONFIG
|
||||
- PROSODY_MODE
|
||||
- PROSODY_RATE_LIMIT_LOGIN_RATE
|
||||
- PROSODY_RATE_LIMIT_SESSION_RATE
|
||||
- PROSODY_RATE_LIMIT_TIMEOUT
|
||||
- PROSODY_RATE_LIMIT_ALLOW_RANGES
|
||||
- PROSODY_RATE_LIMIT_CACHE_SIZE
|
||||
- PROSODY_S2S_LIMIT
|
||||
- PROSODY_S2S_PORT
|
||||
- PROSODY_TRUSTED_PROXIES
|
||||
- PROSODY_VISITOR_INDEX
|
||||
- PROSODY_VISITORS_MUC_PREFIX
|
||||
- PUBLIC_URL
|
||||
- STUN_HOST
|
||||
- STUN_PORT
|
||||
- TURN_CREDENTIALS
|
||||
- TURN_HOST
|
||||
- TURNS_HOST
|
||||
- TURN_PORT
|
||||
- TURNS_PORT
|
||||
- TURN_TRANSPORT
|
||||
- TZ
|
||||
- VISITORS_MAX_VISITORS_PER_NODE
|
||||
- VISITORS_XMPP_DOMAIN
|
||||
- VISITORS_XMPP_SERVER
|
||||
- VISITORS_XMPP_PORT
|
||||
- XMPP_BREAKOUT_MUC_MODULES
|
||||
- XMPP_CONFIGURATION
|
||||
- XMPP_DOMAIN
|
||||
- XMPP_AUTH_DOMAIN
|
||||
- XMPP_GUEST_DOMAIN
|
||||
- XMPP_MUC_DOMAIN
|
||||
- XMPP_INTERNAL_MUC_DOMAIN
|
||||
- XMPP_LOBBY_MUC_MODULES
|
||||
- XMPP_MODULES
|
||||
- XMPP_MUC_MODULES
|
||||
- XMPP_MUC_CONFIGURATION
|
||||
- XMPP_INTERNAL_MUC_MODULES
|
||||
- XMPP_RECORDER_DOMAIN
|
||||
- XMPP_PORT
|
||||
- XMPP_SERVER_S2S_PORT
|
||||
- XMPP_SPEAKERSTATS_MODULES
|
||||
aliases:
|
||||
- ${XMPP_SERVER:-xmpp.meet.jitsi}
|
||||
|
||||
# Focus component
|
||||
jicofo:
|
||||
image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-stable-9457-2}
|
||||
restart: ${RESTART_POLICY:-unless-stopped}
|
||||
ports:
|
||||
- '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888'
|
||||
volumes:
|
||||
- ${CONFIG}/jicofo:/config:Z
|
||||
environment:
|
||||
- AUTH_TYPE
|
||||
- BRIDGE_AVG_PARTICIPANT_STRESS
|
||||
- BRIDGE_STRESS_THRESHOLD
|
||||
- ENABLE_AUTH
|
||||
- ENABLE_AUTO_OWNER
|
||||
- ENABLE_CODEC_VP8
|
||||
- ENABLE_CODEC_VP9
|
||||
- ENABLE_CODEC_AV1
|
||||
- ENABLE_CODEC_H264
|
||||
- ENABLE_CODEC_OPUS_RED
|
||||
- ENABLE_JVB_XMPP_SERVER
|
||||
- ENABLE_OCTO
|
||||
- ENABLE_OCTO_SCTP
|
||||
- ENABLE_RECORDING
|
||||
- ENABLE_SCTP
|
||||
- ENABLE_VISITORS
|
||||
- ENABLE_AUTO_LOGIN
|
||||
- JICOFO_AUTH_LIFETIME
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- JICOFO_AUTH_TYPE
|
||||
- JICOFO_BRIDGE_REGION_GROUPS
|
||||
- JICOFO_ENABLE_AUTH
|
||||
- JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
|
||||
- JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
|
||||
- JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
|
||||
- JICOFO_CONF_SOURCE_SIGNALING_DELAYS
|
||||
- JICOFO_CONF_MAX_AUDIO_SENDERS
|
||||
- JICOFO_CONF_MAX_VIDEO_SENDERS
|
||||
- JICOFO_CONF_STRIP_SIMULCAST
|
||||
- JICOFO_CONF_SSRC_REWRITING
|
||||
- JICOFO_ENABLE_HEALTH_CHECKS
|
||||
- JICOFO_ENABLE_REST
|
||||
- JICOFO_HEALTH_CHECKS_USE_PRESENCE
|
||||
- JICOFO_MAX_MEMORY
|
||||
- JICOFO_MULTI_STREAM_BACKWARD_COMPAT
|
||||
- JICOFO_OCTO_REGION
|
||||
- JICOFO_TRUSTED_DOMAINS
|
||||
- JIBRI_BREWERY_MUC
|
||||
- JIBRI_REQUEST_RETRIES
|
||||
- JIBRI_PENDING_TIMEOUT
|
||||
- JIGASI_BREWERY_MUC
|
||||
- JIGASI_SIP_URI
|
||||
- JIGASI_TRUSTED_DOMAINS
|
||||
- JVB_BREWERY_MUC
|
||||
- JVB_XMPP_AUTH_DOMAIN
|
||||
- JVB_XMPP_INTERNAL_MUC_DOMAIN
|
||||
- JVB_XMPP_PORT
|
||||
- JVB_XMPP_SERVER
|
||||
- MAX_BRIDGE_PARTICIPANTS
|
||||
- OCTO_BRIDGE_SELECTION_STRATEGY
|
||||
- PROSODY_VISITORS_MUC_PREFIX
|
||||
- SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
|
||||
- SENTRY_ENVIRONMENT
|
||||
- SENTRY_RELEASE
|
||||
- TZ
|
||||
- VISITORS_MAX_PARTICIPANTS
|
||||
- VISITORS_MAX_VISITORS_PER_NODE
|
||||
- VISITORS_XMPP_AUTH_DOMAIN
|
||||
- VISITORS_XMPP_SERVER
|
||||
- VISITORS_XMPP_DOMAIN
|
||||
- XMPP_DOMAIN
|
||||
- XMPP_AUTH_DOMAIN
|
||||
- XMPP_INTERNAL_MUC_DOMAIN
|
||||
- XMPP_MUC_DOMAIN
|
||||
- XMPP_RECORDER_DOMAIN
|
||||
- XMPP_SERVER
|
||||
- XMPP_PORT
|
||||
- MAX_SSRCS_PER_USER
|
||||
- MAX_SSRC_GROUPS_PER_USER
|
||||
depends_on:
|
||||
- prosody
|
||||
|
||||
# Video bridge
|
||||
jvb:
|
||||
image: jitsi/jvb:${JITSI_IMAGE_VERSION:-stable-9457-2}
|
||||
restart: ${RESTART_POLICY:-unless-stopped}
|
||||
ports:
|
||||
- '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp'
|
||||
- '127.0.0.1:${JVB_COLIBRI_PORT:-8686}:8080'
|
||||
volumes:
|
||||
- ${CONFIG}/jvb:/config:Z
|
||||
environment:
|
||||
- AUTOSCALER_SIDECAR_KEY_FILE
|
||||
- AUTOSCALER_SIDECAR_KEY_ID
|
||||
- AUTOSCALER_SIDECAR_GROUP_NAME
|
||||
- AUTOSCALER_SIDECAR_HOST_ID
|
||||
- AUTOSCALER_SIDECAR_INSTANCE_ID
|
||||
- AUTOSCALER_SIDECAR_PORT
|
||||
- AUTOSCALER_SIDECAR_REGION
|
||||
- AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL
|
||||
- AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL
|
||||
- DOCKER_HOST_ADDRESS
|
||||
- ENABLE_COLIBRI_WEBSOCKET
|
||||
- ENABLE_JVB_XMPP_SERVER
|
||||
- ENABLE_OCTO
|
||||
- JVB_ADVERTISE_IPS
|
||||
- JVB_ADVERTISE_PRIVATE_CANDIDATES
|
||||
- JVB_AUTH_USER
|
||||
- JVB_AUTH_PASSWORD
|
||||
- JVB_BREWERY_MUC
|
||||
- JVB_DISABLE_STUN
|
||||
- JVB_INSTANCE_ID
|
||||
- JVB_PORT
|
||||
- JVB_MUC_NICKNAME
|
||||
- JVB_STUN_SERVERS
|
||||
- JVB_LOG_FILE
|
||||
- JVB_OCTO_BIND_ADDRESS
|
||||
- JVB_OCTO_REGION
|
||||
- JVB_OCTO_RELAY_ID
|
||||
- JVB_REQUIRE_VALID_ADDRESS
|
||||
- JVB_WS_DOMAIN
|
||||
- JVB_WS_SERVER_ID
|
||||
- JVB_XMPP_AUTH_DOMAIN
|
||||
- JVB_XMPP_INTERNAL_MUC_DOMAIN
|
||||
- JVB_XMPP_PORT
|
||||
- JVB_XMPP_SERVER
|
||||
- PUBLIC_URL
|
||||
- SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
|
||||
- SENTRY_ENVIRONMENT
|
||||
- SENTRY_RELEASE
|
||||
- COLIBRI_REST_ENABLED
|
||||
- SHUTDOWN_REST_ENABLED
|
||||
- TZ
|
||||
- VIDEOBRIDGE_MAX_MEMORY
|
||||
- XMPP_AUTH_DOMAIN
|
||||
- XMPP_INTERNAL_MUC_DOMAIN
|
||||
- XMPP_SERVER
|
||||
- XMPP_PORT
|
||||
depends_on:
|
||||
- prosody
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
services:
|
||||
joplin-db:
|
||||
image: postgres:15
|
||||
container_name: joplin-db
|
||||
volumes:
|
||||
- /path/to/data:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432:5432
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=db_password
|
||||
- POSTGRES_USER=db_user
|
||||
- POSTGRES_DB=joplin
|
||||
|
||||
joplin:
|
||||
image: joplin/server:latest
|
||||
container_name: joplin-server
|
||||
depends_on:
|
||||
- joplin-db
|
||||
ports:
|
||||
- 22300:22300
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_PORT=22300
|
||||
- APP_BASE_URL=https://subdomain.websiteurl.com
|
||||
- DB_CLIENT=pg
|
||||
- POSTGRES_PASSWORD=db_password
|
||||
- POSTGRES_DATABASE=joplin
|
||||
- POSTGRES_USER=db_user
|
||||
- POSTGRES_PORT=5432
|
||||
- POSTGRES_HOST=joplin-db
|
||||
- MAILER_ENABLED=1
|
||||
- MAILER_HOST=smtp.gmail.com
|
||||
- MAILER_PORT=465
|
||||
- MAILER_SECURE=1
|
||||
- [email protected]
|
||||
- MAILER_AUTH_PASSWORD=Y0urP@ssw0rd
|
||||
- MAILER_NOREPLY_NAME=Joplin
|
||||
- [email protected]
|
||||
@@ -0,0 +1,18 @@
|
||||
services:
|
||||
mariadb:
|
||||
image: lscr.io/linuxserver/mariadb:latest
|
||||
container_name: mariadb
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
- MYSQL_ROOT_PASSWORD=rootpassword
|
||||
- MYSQL_DATABASE=database_name #optional
|
||||
- MYSQL_USER=user #optional
|
||||
- MYSQL_PASSWORD=userpassword #optional
|
||||
- REMOTE_SQL=http://URL1/your.sql,https://URL2/your.sql #optional
|
||||
volumes:
|
||||
- /path/to/mariadb/config:/config
|
||||
ports:
|
||||
- 3306:3306
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,33 @@
|
||||
services:
|
||||
db:
|
||||
image: mariadb
|
||||
restart: unless-stopped
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
|
||||
volumes:
|
||||
- /path/to/nextcloud/db:/var/lib/mysql
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
restart: always
|
||||
command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
|
||||
|
||||
app:
|
||||
image: nextcloud/nextcloud:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${HTTP_PORT}:80
|
||||
links:
|
||||
- db
|
||||
- redis
|
||||
volumes:
|
||||
- /path/to/nextcloud/var:/var/www/html
|
||||
environment:
|
||||
- MYSQL_HOST=${MYSQL_HOST}
|
||||
- REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD}
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
@@ -0,0 +1,14 @@
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio
|
||||
container_name: minio
|
||||
ports:
|
||||
- ${HTTP_PORT}:9000
|
||||
- ${HTTP_PORT1}:9001
|
||||
volumes:
|
||||
- /path/to/minio:/data
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||||
command: server --console-address ":9001" /data
|
||||
restart: always
|
||||
@@ -0,0 +1,14 @@
|
||||
services:
|
||||
open-webui:
|
||||
image: ghcr.io/open-webui/open-webui:ollama
|
||||
container_name: open-webui
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
ports:
|
||||
- ${HTTP_PORT}:8080
|
||||
volumes:
|
||||
- /path/to/open-webui/ollama:/root/.ollama
|
||||
- /path/to/open-webui/app:/app/backend/data
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,13 @@
|
||||
services:
|
||||
organizr:
|
||||
image: organizr/organizr
|
||||
container_name: organizr
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
ports:
|
||||
- 80:80
|
||||
volumes:
|
||||
- /path/to/organizr:/config
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,75 @@
|
||||
services:
|
||||
broker:
|
||||
image: docker.io/library/redis:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /path/to/paperless/redisdata:/data
|
||||
networks:
|
||||
paperless:
|
||||
|
||||
db:
|
||||
image: docker.io/library/postgres:latest
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /path/to/paperless/pgdata:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
networks:
|
||||
paperless:
|
||||
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- broker
|
||||
- gotenberg
|
||||
- tika
|
||||
ports:
|
||||
- "8005:8000"
|
||||
volumes:
|
||||
- /path/to/paperless/data:/usr/src/paperless/data
|
||||
- /path/to/paperless/media:/usr/src/paperless/media
|
||||
- /path/to/paperless/export:/usr/src/paperless/export
|
||||
- /path/to/paperless/consume:/usr/src/paperless/consume
|
||||
env_file: .env
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBHOST: db
|
||||
PAPERLESS_DBPASS: ${PAPERLESS_DBPASS}
|
||||
PAPERLESS_TIKA_ENABLED: 1
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||
PAPERLESS_URL: ${PAPERLESS_URL}
|
||||
PAPERLESS_ADMIN_USER: ${PAPERLESS_ADMIN_USER}
|
||||
PAPERLESS_ADMIN_PASSWORD: ${PAPERLESS_ADMIN_PASSWORD}
|
||||
PAPERLESS_APPS: "allauth.socialaccount.providers.openid_connect"
|
||||
# Find out how to configure Authentik: https://youtu.be/enwFWELCYJo
|
||||
PAPERLESS_SOCIALACCOUNT_PROVIDERS: '{"openid_connect": {"APPS": [{"provider_id": "authentik","name": "Authentik SSO","client_id": "0gGOZHjx1iJAlh5wN8m1b7uZKwWnPaClGJNKhQDV","secret": "oqskOOlJ1TJzedWZR9WmcVKmxn1HFqGIroi6oiB5xh03qCofuyIDh2DDaf8OnlTybOMiBQkz9rLNO17s4Bx1aG8aGIErp1n6ly0WwQJOk38Tbq3ctOyZGFagEvysp6o2","settings": { "server_url": "https://authentik.local.thesabear.net/application/o/paperless/.well-known/openid-configuration"}}]}}'
|
||||
networks:
|
||||
paperless:
|
||||
|
||||
gotenberg:
|
||||
image: docker.io/gotenberg/gotenberg:latest
|
||||
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.
|
||||
command:
|
||||
- "gotenberg"
|
||||
- "--chromium-disable-javascript=true"
|
||||
- "--chromium-allow-list=file:///tmp/.*"
|
||||
networks:
|
||||
paperless:
|
||||
|
||||
tika:
|
||||
image: ghcr.io/paperless-ngx/tika:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
paperless:
|
||||
|
||||
networks:
|
||||
paperless:
|
||||
external: true
|
||||
@@ -0,0 +1,39 @@
|
||||
services:
|
||||
mysql:
|
||||
restart: unless-stopped
|
||||
image: mysql:8.0
|
||||
hostname: mysql
|
||||
volumes:
|
||||
- /path/to/semaphore/semaphore-mysql:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
|
||||
semaphore:
|
||||
container_name: ansiblesemaphore
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${HTTP_PORT}:3000
|
||||
image: semaphoreui/semaphore:latest
|
||||
environment:
|
||||
SEMAPHORE_DB_USER: ${SEMAPHORE_DB_USER}
|
||||
SEMAPHORE_DB_PASS: ${SEMAPHORE_DB_PASS}
|
||||
SEMAPHORE_DB_HOST: ${SEMAPHORE_DB_HOST} # for postgres, change to: postgres
|
||||
SEMAPHORE_DB_PORT: ${SEMAPHORE_DB_PORT} # change to 5432 for postgres
|
||||
SEMAPHORE_DB_DIALECT: ${SEMAPHORE_DB_DIALECT} # for postgres, change to: postgres
|
||||
SEMAPHORE_DB: ${SEMAPHORE_DB}
|
||||
SEMAPHORE_PLAYBOOK_PATH: ${SEMAPHORE_PLAYBOOK_PATH}
|
||||
SEMAPHORE_ADMIN_PASSWORD: ${SEMAPHORE_ADMIN_PASSWORD}
|
||||
SEMAPHORE_ADMIN_NAME: ${SEMAPHORE_ADMIN_NAME}
|
||||
SEMAPHORE_ADMIN_EMAIL: ${SEMAPHORE_ADMIN_EMAIL}
|
||||
SEMAPHORE_ADMIN: ${SEMAPHORE_ADMIN}
|
||||
SEMAPHORE_ACCESS_KEY_ENCRYPTION: ${SEMAPHORE_ACCESS_KEY_ENCRYPTION}
|
||||
TZ: ${TZ}
|
||||
volumes:
|
||||
- /path/to/semaphore/requirements.txt:/etc/semaphore/requirements.txt
|
||||
depends_on:
|
||||
- mysql # for postgres, change to: postgres
|
||||
volumes:
|
||||
semaphore-mysql: # to use postgres, switch to: semaphore-postgres
|
||||
@@ -0,0 +1,19 @@
|
||||
services:
|
||||
speedtest-tracker:
|
||||
container_name: speedtest-tracker
|
||||
image: lscr.io/linuxserver/speedtest-tracker:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
- APP_KEY=${APP_KEY} # Application key for Laravel framework security. Generate a App Key here - https://speedtest-tracker.dev
|
||||
- APP_URL=${APP_URL} # Public URL where the Speedtest Tracker will be accessible.
|
||||
- DB_CONNECTION=sqlite # Uses SQLite as the database.
|
||||
- SPEEDTEST_SCHEDULE="0 */3 * * *" # Cron schedule, runs every 3 hours.
|
||||
- DISPLAY_TIMEZONE=${DISPLAY_TIMEZONE} # Sets the timezone for displaying data in the UI.
|
||||
volumes:
|
||||
- /path/to/speedtest-tracker/data:/config # Mounts the directory for persistent data.
|
||||
restart: unless-stopped
|
||||
@@ -0,0 +1,14 @@
|
||||
version: '3'
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:latest
|
||||
container_name: uptime-kuma
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
volumes:
|
||||
- /path/to/uptime-kuma:/app/data
|
||||
ports:
|
||||
- 3001:3001
|
||||
restart: always
|
||||
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
bitwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
volumes:
|
||||
- /path/to/bw-data:/data
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
- WEBSOCKET_ENABLED='true' # Required to use websockets
|
||||
- SIGNUPS_ALLOWED='true' # set to false to disable signups
|
||||
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
whoogle:
|
||||
image: benbusby/whoogle-search:latest
|
||||
container_name: whoogle
|
||||
environment:
|
||||
- PUID=PUID
|
||||
- PGID=PGID
|
||||
- TZ=timezone
|
||||
ports:
|
||||
- 5000:5000
|
||||
restart: unless-stopped
|
||||
Reference in new issue
Block a user