1 Commits

Author SHA1 Message Date
Renovate Bot
823e3a5190 Update Paperless-ngx 2025-09-03 00:01:16 +00:00
31 changed files with 165 additions and 474 deletions

View File

@@ -1,7 +1,6 @@
services: services:
audiobookshelf: audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:2.32.1 image: ghcr.io/advplyr/audiobookshelf:2.29.0
restart: always
ports: ports:
- 13378:80 - 13378:80
volumes: volumes:

View File

@@ -1,41 +0,0 @@
# Copy this file to `.env` and fill in the values that match your setup.
# Docker Compose files under deployment/ read these variables to keep settings in one place.
#
# IMPORTANT:
# 1. This file must be named exactly ".env" (not .env.txt or .env.example)
# 2. It must be in the SAME directory as your docker-compose-*.yaml file
# 3. Do NOT use spaces around the = sign
# 4. Do NOT use quotes around values (unless required by the value itself)
# 5. After editing, restart containers: docker-compose down && docker-compose up -d
#
# SPECIAL CHARACTERS IN VALUES:
# If your password or API key contains special characters like: $ ` " ' \ # ! & * ( ) [ ] { } | ; < > ?
# you may need to:
# - Avoid quotes entirely: GEMINI_API_KEY=AIza$pecial!Key (usually works)
# - OR use single quotes if the value has $: GEMINI_API_KEY='AIza$pecial!Key'
# - OR escape with backslash: GEMINI_API_KEY=AIza\$pecial\!Key
# Most problematic characters: $ (variable expansion), ` (command substitution), " (string delimiter)
#
# TROUBLESHOOTING:
# If API keys don't work, verify:
# - File is named ".env" exactly (check with: ls -la)
# - No spaces: GEMINI_API_KEY=AIza... (not GEMINI_API_KEY = "AIza...")
# - No unescaped special characters (especially $ ` " ')
# - Restart containers after changing this file
# If all else fails, try hardcoding the value directly in docker-compose-*.yaml to isolate the issue
# --- Jellyfin ---
JELLYFIN_USER_ID=
JELLYFIN_TOKEN=
JELLYFIN_URL=https://jellyfin.smittenfeld.nl
# --- Shared backend configuration ---
AUDIOMUSE_POSTGRES_USER=audiomuse
AUDIOMUSE_POSTGRES_PASSWORD=
AUDIOMUSE_POSTGRES_DB=audiomusedb
#
## --- Remote worker integration ---
#WORKER_URL=http://worker.example.com:8029/worker
#WORKER_POSTGRES_HOST=server.example.com
#WORKER_REDIS_URL=redis://server.example.com:6379/0

View File

@@ -1,126 +0,0 @@
services:
# Redis service for RQ (task queue)
audiomuse-ai-redis:
image: redis:8-alpine
container_name: audiomuse-redis
ports:
- "6379:6379" # Expose Redis port to the host
volumes:
- redis-data:/data # Persistent storage for Redis data
networks:
- audiomuse
restart: unless-stopped
# PostgreSQL database service
audiomuse-ai-postgres:
image: postgres:15-alpine
container_name: audiomuse-postgres
env_file:
- .env
environment:
POSTGRES_USER: ${AUDIOMUSE_POSTGRES_USER}
POSTGRES_PASSWORD: ${AUDIOMUSE_POSTGRES_PASSWORD}
POSTGRES_DB: ${AUDIOMUSE_POSTGRES_DB}
ports:
- "5435:5432" # Expose PostgreSQL port to the host
volumes:
- postgres-data:/var/lib/postgresql/data # Persistent storage for PostgreSQL data
networks:
- audiomuse
restart: unless-stopped
# AudioMuse-AI Flask application service
audiomuse-ai-flask:
image: ghcr.io/neptunehub/audiomuse-ai:0.8.9 # Reflects deployment.yaml
container_name: audiomuse-ai-flask-app
ports:
- "8013:8000"
env_file:
- .env
environment:
SERVICE_TYPE: "flask" # Tells the container to run the Flask app
MEDIASERVER_TYPE: "jellyfin" # Specify the media server type
POSTGRES_USER: ${AUDIOMUSE_POSTGRES_USER}
POSTGRES_PASSWORD: ${AUDIOMUSE_POSTGRES_PASSWORD}
POSTGRES_DB: ${AUDIOMUSE_POSTGRES_DB}
POSTGRES_PORT: "5432"
POSTGRES_HOST: "audiomuse-ai-postgres" # Service name of the postgres container
REDIS_URL: "redis://audiomuse-ai-redis:6379/0" # Connects to the 'redis' service
AI_MODEL_PROVIDER: "OPENAI"
OPENAI_API_KEY: "any-random-string" # Dummy key to enable local model usage
OPENAI_SERVER_URL: "http://172.17.0.1:12434/engines/llama.cpp/v1/chat/completions" #This is the API endpoint for local DMR model from within the Docker container.
OPENAI_MODEL_NAME: "ai/qwen3:0.6B-Q4_0"
TEMP_DIR: "/app/temp_audio"
# Use tmpfs to process audio files in memory for better performance. this reduuces disk I/O but might use more RAM.
# Mounted directories are not shared between containers, so each container gets its own tmpfs instance.
# Increase tmpfs size for very large audio files as needed.
# If host RAM is limited, use a Docker volume instead of tmpfs.
# For more info on tmpfs: https://docs.docker.com/engine/storage/tmpfs/
tmpfs:
- /app/temp_audio:rw,size=1000m
depends_on:
- audiomuse-ai-redis
- audiomuse-ai-postgres
restart: unless-stopped
networks:
- audiomuse
models:
- llm # Specify that LLM models are used in this service
# AudioMuse-AI RQ Worker service
audiomuse-ai-worker:
image: ghcr.io/neptunehub/audiomuse-ai:0.8.9 # Reflects deployment.yaml
container_name: audiomuse-ai-worker-instance
env_file:
- .env
environment:
SERVICE_TYPE: "worker" # Tells the container to run the RQ worker
MEDIASERVER_TYPE: "jellyfin" # Specify the media server type
JELLYFIN_USER_ID: "${JELLYFIN_USER_ID}"
JELLYFIN_TOKEN: "${JELLYFIN_TOKEN}"
JELLYFIN_URL: "${JELLYFIN_URL}"
# DATABASE_URL is now constructed by config.py from the following:
POSTGRES_USER: ${AUDIOMUSE_POSTGRES_USER}
POSTGRES_PASSWORD: ${AUDIOMUSE_POSTGRES_PASSWORD}
POSTGRES_DB: ${AUDIOMUSE_POSTGRES_DB}
POSTGRES_PORT: "5432"
POSTGRES_HOST: "audiomuse-ai-postgres" # Service name of the postgres container
REDIS_URL: "redis://audiomuse-ai-redis:6379/0" # Connects to the 'redis' service
AI_MODEL_PROVIDER: "OPENAI"
OPENAI_API_KEY: "any-random-string" # Dummy key to enable local model usage
OPENAI_SERVER_URL: "http://172.17.0.1:12434/engines/llama.cpp/v1/chat/completions" #This is the API endpoint for local DMR model from within the Docker container.
OPENAI_MODEL_NAME: "ai/qwen3:0.6B-Q4_0"
TEMP_DIR: "/app/temp_audio"
# Use tmpfs to process audio files in memory for better performance. this reduuces disk I/O but might use more RAM.
# Mounted directories are not shared between containers, so each container gets its own tmpfs instance.
# Increase tmpfs size for very large audio files as needed.
# If host RAM is limited, use a Docker volume instead of tmpfs.
# For more info on tmpfs: https://docs.docker.com/engine/storage/tmpfs/
tmpfs:
- /app/temp_audio:rw,size=1000m
depends_on:
- audiomuse-ai-redis
- audiomuse-ai-postgres
restart: unless-stopped
networks:
- audiomuse
models:
- llm # Specify that LLM models are used in this service
# Using Docker Model Runner (DMR)
# - Make sure your Docker Engine version supports the AI features and that the docker-model-plugin is installed.
# - Follow Docker's setup guide: https://docs.docker.com/ai/model-runner/get-started/#docker-engine
# - Once DMR is configured, you can download and run AI models locally just like Docker images — no code changes to this compose file are required.
# - For model integration with docker-compose, see: https://docs.docker.com/ai/compose/models-and-compose/
models:
llm:
model: ai/qwen3:0.6B-Q4_0 # Lightweight local model for testing. Change as needed; if changed, ensure it matches OPENAI_MODEL_NAME.
# Define volumes for persistent data and temporary files
volumes:
redis-data:
postgres-data:
networks:
audiomuse:

2
baikal/.env.example Normal file
View File

@@ -0,0 +1,2 @@
BAIKAL_CONFIG_DIR=
BAIKAL_DATA_DIR=

11
baikal/docker-compose.yml Normal file
View File

@@ -0,0 +1,11 @@
services:
baikal:
image: ckulka/baikal:0.10.1-nginx
restart: always
ports:
- "8083:80"
volumes:
- ${BAIKAL_CONFIG_DIR}:/var/www/baikal/config
- ${BAIKAL_DATA_DIR}:/var/www/baikal/Specific
env_file:
- .env

View File

@@ -1,17 +1,17 @@
include: include:
- audiobookshelf/docker-compose.yml - audiobookshelf/docker-compose.yml
- audiomuse/docker-compose.yml - baikal/docker-compose.yml
- gitea/docker-compose.yml - gitea/docker-compose.yml
- immich/docker-compose.yml - immich/docker-compose.yml
- jellyfin/docker-compose.yml - jellyfin/docker-compose.yml
- monitoring/docker-compose.yml
- nextcloud/docker-compose.yml - nextcloud/docker-compose.yml
- paperless/docker-compose.yml - paperless/docker-compose.yml
- pihole/docker-compose.yml - pihole/docker-compose.yml
- pingvin/docker-compose.yml - pingvin/docker-compose.yml
- pocketid/docker-compose.yml - pocketid/docker-compose.yml
- searxng/docker-compose.yml
- spliit/docker-compose.yml - spliit/docker-compose.yml
- shlink/docker-compose.yml - shlink/docker-compose.yml
- synapse/docker-compose.yml - synapse/docker-compose.yml
# - updater/docker-compose.yml - updater/docker-compose.yml
- vaultwarden/docker-compose.yml - vaultwarden/docker-compose.yml

View File

@@ -1,7 +1,7 @@
services: services:
gitea: gitea:
container_name: gitea container_name: gitea
image: gitea/gitea:1.25.2-rootless image: gitea/gitea:1.24.5-rootless
restart: always restart: always
volumes: volumes:
- ${GITEA_DATA_LOCATION}:/var/lib/gitea - ${GITEA_DATA_LOCATION}:/var/lib/gitea
@@ -14,8 +14,7 @@ services:
- "3000:3000" - "3000:3000"
- "2222:2222" - "2222:2222"
gitea-runner: gitea-runner:
image: gitea/act_runner:0.3.0 image: gitea/act_runner:0.2.12
restart: always
environment: environment:
CONFIG_FILE: /config.yaml CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${GITEA_INSTANCE_URL}" GITEA_INSTANCE_URL: "${GITEA_INSTANCE_URL}"
@@ -24,4 +23,4 @@ services:
volumes: volumes:
- ./runner-config.yaml:/config.yaml - ./runner-config.yaml:/config.yaml
- ${GITEA_RUNNER_DATA_LOCATION}:/data - ${GITEA_RUNNER_DATA_LOCATION}:/data
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock

View File

@@ -1,15 +1,8 @@
UPLOAD_LOCATION= UPLOAD_LOCATION=
IMMICH_VERSION=
IMMICH_DB_LOCATION= IMMICH_DB_LOCATION=
IMMICH_DB_HOSTNAME= DB_USERNAME=
IMMICH_POSTGRES_DB= DB_PASSWORD=
IMMICH_POSTGRES_USER= DB_DATABASE_NAME=
IMMICH_POSTGRES_PASSWORD=
REDIS_HOSTNAME= REDIS_HOSTNAME=
IMMICH_EXTERNAL_MEDIA_LOCATION=
# Default timezone for images without a timezone set
TZ=

View File

@@ -1,40 +1,44 @@
services: services:
immich-server: immich-server:
container_name: immich_server container_name: immich_server
image: ghcr.io/immich-app/immich-server:v2.5.6 image: ghcr.io/immich-app/immich-server:v1.140.1
# extends: # extends:
# file: hwaccel.transcoding.yml # file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes: volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data - ${UPLOAD_LOCATION}:/data
- ${IMMICH_EXTERNAL_MEDIA_LOCATION}:/external:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
env_file: env_file:
- .env - .env
environment:
DB_HOSTNAME: ${IMMICH_DB_HOSTNAME}
DB_USERNAME: ${IMMICH_POSTGRES_USER}
DB_PASSWORD: ${IMMICH_POSTGRES_PASSWORD}
DB_DATABASE_NAME: ${IMMICH_POSTGRES_DB}
ports: ports:
- '2283:2283' - '2283:2283'
depends_on: depends_on:
- redis - redis
- database - database
restart: always restart: always
healthcheck:
disable: false
immich-machine-learning: immich-machine-learning:
container_name: immich_machine_learning container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:v2.5.6 # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:v1.140.1
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes: volumes:
- model-cache:/cache - model-cache:/cache
env_file: env_file:
- .env - .env
restart: always restart: always
healthcheck:
disable: false
redis: redis:
container_name: immich_redis container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:fb8d272e529ea567b9bf1302245796f21a2672b8368ca3fcb938ac334e613c8f image: docker.io/redis:7.4-alpine@sha256:1bf97f21f01b0e7bd4b7b34a26d3b9d8086e41e70c10f262e8a9e0b49b5116a0
healthcheck: healthcheck:
test: redis-cli ping || exit 1 test: redis-cli ping || exit 1
restart: always restart: always
@@ -43,17 +47,14 @@ services:
container_name: immich_postgres container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
environment: environment:
POSTGRES_USER: ${IMMICH_POSTGRES_USER} POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_PASSWORD: ${IMMICH_POSTGRES_PASSWORD} POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${IMMICH_POSTGRES_DB} POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums' POSTGRES_INITDB_ARGS: '--data-checksums'
DB_STORAGE_TYPE: 'HDD' DB_STORAGE_TYPE: 'HDD'
ports:
- 5433:5432
volumes: volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${IMMICH_DB_LOCATION}:/var/lib/postgresql/data - ${IMMICH_DB_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always restart: always
volumes: volumes:

View File

@@ -1,9 +1,9 @@
services: services:
jellyfin: jellyfin:
image: jellyfin/jellyfin:10.11.6 image: jellyfin/jellyfin:10.10.7
user: ${JELLYFIN_USER_UID}:${JELLYFIN_USER_GID} user: ${JELLYFIN_USER_UID}:${JELLYFIN_USER_GID}
network_mode: 'host' network_mode: 'host'
restart: always restart: 'unless-stopped'
env_file: env_file:
- .env - .env
environment: environment:

View File

@@ -1,27 +0,0 @@
GRAFANA_ADMIN_USER=
GRAFANA_ADMIN_PASSWORD=
GRAFANA_DOMAIN=
GRAFANA_ROOT_URL=
GRAFANA_DISABLE_LOGIN_FORM=false
GRAFANA_SMTP_ENABLED=true
GRAFANA_SMTP_HOST=
GRAFANA_SMTP_USER=
GRAFANA_SMTP_PASSWORD=
GRAFANA_SMTP_FROM=
GRAFANA_DATA_DIR=
PROMETHEUS_CONFIG_PATH=
PROMETHEUS_DATA_DIR=
BLACKBOX_CONFIG_PATH=
LOKI_CONFIG_PATH=
LOKI_DATA_DIR=
ALLOY_CONFIG_PATH=
GMF_MATRIX_HOMESERVER=
GMF_MATRIX_USER=
GMF_MATRIX_TOKEN=

View File

@@ -1,115 +0,0 @@
services:
# Prometheus - Metrics Collection
prometheus:
image: prom/prometheus:v3.9.1
restart: unless-stopped
ports:
- "9091:9090"
volumes:
- ${PROMETHEUS_CONFIG_PATH}:/etc/prometheus/prometheus.yml:ro
- ${PROMETHEUS_DATA_DIR}:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
- '--web.enable-admin-api'
# Grafana - Visualization Dashboard
grafana:
image: grafana/grafana:12.4.0
restart: unless-stopped
ports:
- "3002:3000"
volumes:
- ${GRAFANA_DATA_DIR}:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_DOMAIN=${GRAFANA_DOMAIN}
- GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL}
- GF_AUTH_DISABLE_LOGIN_FORM=${GRAFANA_DISABLE_LOGIN_FORM}
- GF_SMTP_ENABLED=${GRAFANA_SMTP_ENABLED}
- GF_SMTP_HOST=${GRAFANA_SMTP_HOST}
- GF_SMTP_USER=${GRAFANA_SMTP_USER}
- GF_SMTP_PASSWORD=${GRAFANA_SMTP_PASSWORD}
- GF_SMTP_FROM_ADDRESS=${GRAFANA_SMTP_FROM}
depends_on:
- prometheus
loki:
image: grafana/loki:3.6.7
restart: unless-stopped
ports:
- "3100:3100"
volumes:
- ${LOKI_CONFIG_PATH}:/etc/loki/local-config.yaml
- ${LOKI_DATA_DIR}:/loki
command:
- '-config.file=/etc/loki/local-config.yaml'
- '-target=all'
alloy:
image: grafana/alloy:v1.13.2
restart: unless-stopped
ports:
- "12345:12345"
volumes:
- ${ALLOY_CONFIG_PATH}:/etc/alloy/config.alloy:ro
- /var/log:/var/log:ro
# Node Exporter - Host System Metrics
node_exporter:
image: prom/node-exporter:v1.10.2
restart: unless-stopped
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
# cAdvisor - Container Metrics
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.55.1
restart: unless-stopped
privileged: true
ports:
- "8081:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
devices:
- /dev/kmsg
command:
- '--housekeeping_interval=30s'
- '--max_housekeeping_interval=35s'
- '--event_storage_event_limit=default=0'
- '--event_storage_age_limit=default=0'
- '--disable_metrics=disk,diskIO,tcp,udp,percpu,sched,process,hugetlb,referenced_memory'
- '--docker_only=true'
# Blackbox Exporter - Endpoint Monitoring
blackbox_exporter:
image: prom/blackbox-exporter:v0.28.0
restart: unless-stopped
ports:
- "9115:9115"
volumes:
- ${BLACKBOX_CONFIG_PATH}:/etc/blackbox_exporter/config.yml
grafana-matrix-forwarder:
build: ./grafana-matrix-forwarder
restart: unless-stopped
env_file:
- .env

View File

@@ -1,9 +0,0 @@
FROM alpine
# Create main app folder to run from
WORKDIR /app
# Copy compiled binary to release image
COPY grafana-matrix-forwarder /app/grafana-matrix-forwarder
ENTRYPOINT ["/app/grafana-matrix-forwarder"]

View File

@@ -1,2 +1,12 @@
NEXTCLOUD_AIO_DIR= NEXTCLOUD_DOMAIN=
NEXTCLOUD_DATA_DIR= NEXTCLOUD_DATA_DIR=
NEXTCLOUD_POSTGRES_DATA_DIR=
NEXTCLOUD_POSTGRES_DB=
NEXTCLOUD_POSTGRES_USER=
NEXTCLOUD_POSTGRES_PASSWORD=
COLLABORA_DOMAIN=
COLLABORA_USER=
COLLABORA_PASSWORD=

View File

@@ -1,40 +1,48 @@
services: services:
nextcloud-aio-mastercontainer: nextcloud_db:
image: ghcr.io/nextcloud-releases/all-in-one:latest # This is the container image used. You can switch to ghcr.io/nextcloud-releases/all-in-one:beta if you want to help testing new releases. See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel image: docker.io/library/postgres:17
init: true # This setting makes sure that signals from main process inside the container are correctly forwarded to children. See https://docs.docker.com/reference/compose-file/services/#init restart: unless-stopped
restart: always # This makes sure that the container starts always together with the host OS. See https://docs.docker.com/reference/compose-file/services/#restart
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
volumes: volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work - ${NEXTCLOUD_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'! environment:
network_mode: bridge POSTGRES_DB: ${NEXTCLOUD_POSTGRES_DB}
POSTGRES_USER: ${NEXTCLOUD_POSTGRES_USER}
POSTGRES_PASSWORD: ${NEXTCLOUD_POSTGRES_PASSWORD}
networks:
- nextcloud
nextcloud:
image: nextcloud:31.0.8
restart: always
ports: ports:
- 8014:8080 # This is the AIO interface, served via https and self-signed certificate. See https://github.com/nextcloud/all-in-one#explanation-of-used-ports - 8081:80
environment: # Is needed when using any of the options below links:
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section - db
APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md volumes:
# APACHE_IP_BINDING: 127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md - ${NEXTCLOUD_DATA_DIR}:/var/www/html
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md environment:
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy - POSTGRES_HOST=nextcloud_db
# COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature - POSTGRES_DB=${NEXTCLOUD_POSTGRES_DB}
# DOCKER_API_VERSION: 1.44 # You can adjust the internally used docker api version with this variable. ⚠️⚠️⚠️ Warning: please note that only the default api version (unset this variable) is supported and tested by the maintainers of Nextcloud AIO. So use this on your own risk and things might break without warning. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-internally-used-docker-api-version - POSTGRES_USER=${NEXTCLOUD_POSTGRES_USER}
# FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # Allows to adjust the fulltextsearch java options. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options - POSTGRES_PASSWORD=${NEXTCLOUD_POSTGRES_PASSWORD}
NEXTCLOUD_DATADIR: ${NEXTCLOUD_DATA_DIR} # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir - REDIS_HOST=nextcloud-redis
# NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host - REDIS_PORT=6379
# NEXTCLOUD_UPLOAD_LIMIT: 16G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud - NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN}
# NEXTCLOUD_MAX_TIME: 3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud networks:
# NEXTCLOUD_MEMORY_LIMIT: 512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud - nextcloud
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nextcloud container (Useful e.g. for LDAPS) See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca cron:
# NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup image: nextcloud:31.0.8
# NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container container_name: nextcloud-cron
# NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container volumes:
# NEXTCLOUD_ENABLE_DRI_DEVICE: true # This allows to enable the /dev/dri device for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud - ${NEXTCLOUD_DATA_DIR}:/var/www/html
# NEXTCLOUD_ENABLE_NVIDIA_GPU: true # This allows to enable the NVIDIA runtime and GPU access for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if an NVIDIA gpu is installed on the server. See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud. entrypoint: /cron.sh
# NEXTCLOUD_KEEP_DISABLED_APPS: false # Setting this to true will keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed. See https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps restart: unless-stopped
# SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation networks:
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port - nextcloud
nextcloud-redis:
image: redis:7
restart: always
networks:
- nextcloud
networks:
volumes: # If you want to store the data on a different drive, see https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive nextcloud:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work

View File

@@ -9,9 +9,9 @@ PAPERLESS_SECRET_KEY=
PAPERLESS_URL= PAPERLESS_URL=
PAPERLESS_POSTGRES_DB= POSTGRES_DB=
PAPERLESS_POSTGRES_USER= POSTGRES_USER=
PAPERLESS_POSTGRES_PASSWORD= POSTGRES_PASSWORD=
#optional #optional
PAPERLESS_TIME_ZONE= PAPERLESS_TIME_ZONE=

View File

@@ -1,25 +1,23 @@
services: services:
broker: broker:
image: docker.io/library/redis:7 image: docker.io/library/redis:7
restart: always restart: unless-stopped
volumes: volumes:
- ${PAPERLESS_REDIS_DATA_DIR}:/data - ${PAPERLESS_REDIS_DATA_DIR}:/data
db: db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:17
restart: always restart: unless-stopped
volumes: volumes:
- ${PAPERLESS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${PAPERLESS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${PAPERLESS_POSTGRES_DB} POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${PAPERLESS_POSTGRES_USER} POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${PAPERLESS_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- 5434:5432
paperless: paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.10 image: ghcr.io/paperless-ngx/paperless-ngx:2.18.3
restart: always restart: unless-stopped
depends_on: depends_on:
- db - db
- broker - broker
@@ -36,9 +34,9 @@ services:
environment: environment:
PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db PAPERLESS_DBHOST: db
PAPERLESS_DBNAME: ${PAPERLESS_POSTGRES_DB} PAPERLESS_DBNAME: ${POSTGRES_DB}
PAPERLESS_DBUSER: ${PAPERLESS_POSTGRES_USER} PAPERLESS_DBUSER: ${POSTGRES_USER}
PAPERLESS_DBPASS: ${PAPERLESS_POSTGRES_PASSWORD} PAPERLESS_DBPASS: ${POSTGRES_PASSWORD}
PAPERLESS_TIKA_ENABLED: 1 PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998 PAPERLESS_TIKA_ENDPOINT: http://tika:9998
@@ -49,8 +47,8 @@ services:
PAPERLESS_REDIRECT_LOGIN_TO_SSO: true PAPERLESS_REDIRECT_LOGIN_TO_SSO: true
gotenberg: gotenberg:
image: docker.io/gotenberg/gotenberg:8.27.0 image: docker.io/gotenberg/gotenberg:8.23.0
restart: always restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not # The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript. # want to allow external content like tracking pixels or even javascript.
@@ -60,5 +58,5 @@ services:
- "--chromium-allow-list=file:///tmp/.*" - "--chromium-allow-list=file:///tmp/.*"
tika: tika:
image: docker.io/apache/tika:3.2.3.0 image: docker.io/apache/tika:3.2.2.0
restart: always restart: unless-stopped

View File

@@ -2,7 +2,7 @@
services: services:
pihole: pihole:
container_name: pihole container_name: pihole
image: pihole/pihole:2026.02.0 image: pihole/pihole:2025.06.1
ports: ports:
# DNS Ports # DNS Ports
- "53:53/tcp" - "53:53/tcp"
@@ -34,4 +34,4 @@ services:
# - SYS_TIME # - SYS_TIME
# Optional, if Pi-hole should get some more processing time # Optional, if Pi-hole should get some more processing time
- SYS_NICE - SYS_NICE
restart: always restart: unless-stopped

View File

@@ -1,7 +1,7 @@
services: services:
pingvin: pingvin:
image: stonith404/pingvin-share:v1.13.0 image: stonith404/pingvin-share:v1.13.0
restart: always restart: unless-stopped
ports: ports:
- 3042:3000 - 3042:3000
environment: environment:

View File

@@ -3,5 +3,3 @@ TRUST_PROXY=
MAXMIND_LICENSE_KEY= MAXMIND_LICENSE_KEY=
PUID= PUID=
PGID= PGID=
ENCRYPTION_KEY=
POCKETID_DATA_DIR=

View File

@@ -1,16 +1,17 @@
services: services:
pocket-id: pocket-id:
image: ghcr.io/pocket-id/pocket-id:v2.3.0 image: ghcr.io/pocket-id/pocket-id:v1.10.0
restart: always restart: unless-stopped
env_file: .env env_file: .env
ports: ports:
- "3043:1411" - "3043:1411"
volumes: volumes:
- ${POCKETID_DATA_DIR}:/app/data #TODO change this to a more appropriate location
- ./data:/app/data
# Optional healthcheck # Optional healthcheck
healthcheck: healthcheck:
test: "curl -f http://localhost:1411/healthz" test: "curl -f http://localhost:1411/healthz"
interval: 1m30s interval: 1m30s
timeout: 5s timeout: 5s
retries: 2 retries: 2
start_period: 10s start_period: 10s

View File

@@ -23,9 +23,7 @@
"matrixdotorg/synapse", "matrixdotorg/synapse",
"ghcr.io/element-hq/matrix-authentication-service", "ghcr.io/element-hq/matrix-authentication-service",
"dock.mau.dev/mautrix/whatsapp", "dock.mau.dev/mautrix/whatsapp",
"dock.mau.dev/mautrix/signal", "dock.mau.dev/mautrix/signal"
"ghcr.io/element-hq/lk-jwt-service",
"livekit/livekit-server"
] ]
} }
] ]

2
searxng/.env.example Normal file
View File

@@ -0,0 +1,2 @@
SEARXNG_CONFIG_DIR=
SEARXNG_DATA_DIR=

View File

@@ -0,0 +1,11 @@
services:
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
restart: unless-stopped
env_file: .env
ports:
- "8888:8080"
volumes:
- ${SEARXNG_CONFIG_DIR}:/etc/searxng/
- ${SEARXNG_DATA_DIR}:/var/cache/searxng/

View File

@@ -1,8 +1,8 @@
services: services:
shlink: shlink:
image: shlinkio/shlink:5.0 image: shlinkio/shlink:4.5
container_name: shlink container_name: shlink
restart: always restart: unless-stopped
ports: ports:
- "8085:8080" - "8085:8080"
environment: environment:
@@ -20,12 +20,10 @@ services:
shlink_db: shlink_db:
image: postgres:17 image: postgres:17
container_name: shlink_db container_name: shlink_db
restart: always restart: unless-stopped
volumes: volumes:
- ${SHLINK_POSTGRES_DIR}:/var/lib/postgresql/data - ${SHLINK_POSTGRES_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${SHLINK_POSTGRES_DB} POSTGRES_DB: ${SHLINK_POSTGRES_DB}
POSTGRES_USER: ${SHLINK_POSTGRES_USER} POSTGRES_USER: ${SHLINK_POSTGRES_USER}
POSTGRES_PASSWORD: ${SHLINK_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${SHLINK_POSTGRES_PASSWORD}
ports:
- 5436:5432

View File

@@ -1,8 +1,6 @@
services: services:
spliit: spliit:
#image: ghcr.io/spliit-app/spliit:1.19.1
image: petersmit27/spliit:latest image: petersmit27/spliit:latest
restart: always
ports: ports:
- 3001:3000 - 3001:3000
depends_on: depends_on:
@@ -17,11 +15,8 @@ services:
POSTGRES_PASSWORD: ${SPLIIT_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${SPLIIT_POSTGRES_PASSWORD}
spliit_db: spliit_db:
image: postgres:17 image: postgres:17
restart: always
volumes: volumes:
- ${SPLIIT_POSTGRES_DIR}:/var/lib/postgresql/data - ${SPLIIT_POSTGRES_DIR}:/var/lib/postgresql/data
ports:
- 5437:5432
environment: environment:
TZ: ${TZ} TZ: ${TZ}
POSTGRES_DB: ${SPLIIT_POSTGRES_DB} POSTGRES_DB: ${SPLIIT_POSTGRES_DB}

View File

@@ -1,9 +1,9 @@
SYNAPSE_POSTGRES_DATA_DIR= SYNAPSE_POSTGRES_DATA_DIR=
SYNAPSE_CONFIG_DIR= SYNAPSE_CONFIG_DIR=
SYNAPSE_POSTGRES_DB= POSTGRES_DB=
SYNAPSE_POSTGRES_USER= POSTGRES_USER=
SYNAPSE_POSTGRES_PASSWORD= POSTGRES_PASSWORD=
MAS_CONFIG_DIR= MAS_CONFIG_DIR=

View File

@@ -1,6 +1,6 @@
services: services:
element-call-auth-service: element-call-auth-service:
image: ghcr.io/element-hq/lk-jwt-service:0.4.1 image: ghcr.io/element-hq/lk-jwt-service:0.3.0
container_name: element-call-jwt container_name: element-call-jwt
hostname: auth-server hostname: auth-server
environment: environment:
@@ -9,60 +9,56 @@ services:
- LIVEKIT_KEY=devkey - LIVEKIT_KEY=devkey
- LIVEKIT_SECRET=${LIVEKIT_SECRET_KEY} - LIVEKIT_SECRET=${LIVEKIT_SECRET_KEY}
- LIVEKIT_FULL_ACCESS_HOMESERVERS=${MATRIX_DOMAIN} - LIVEKIT_FULL_ACCESS_HOMESERVERS=${MATRIX_DOMAIN}
restart: always restart: unless-stopped
ports: ports:
- 8071:8080 - 8071:8080
element-call-livekit: element-call-livekit:
image: livekit/livekit-server:v1.9.11 image: livekit/livekit-server:v1.9.0
command: --config /etc/livekit.yaml command: --config /etc/livekit.yaml
ports: ports:
- "7880:7880/tcp" - "7880:7880/tcp"
- "7881:7881/tcp" - "7881:7881/tcp"
- "7882:7882/tcp" - "7882:7882/tcp"
- "50100-50200:50100-50200/udp" - "50100-50200:50100-50200/udp"
restart: always restart: unless-stopped
volumes: volumes:
- ${LIVEKIT_CONFIG_DIR}/config.yaml:/etc/livekit.yaml:ro - ${LIVEKIT_CONFIG_DIR}/config.yaml:/etc/livekit.yaml:ro
mautrix-signal: mautrix-signal:
container_name: mautrix-signal container_name: mautrix-signal
image: dock.mau.dev/mautrix/signal:v0.2602.1 image: dock.mau.dev/mautrix/signal:v0.8.6
restart: always restart: unless-stopped
volumes: volumes:
- ${MAUTRIX_SIGNAL_DATA_DIR}:/data - ${MAUTRIX_SIGNAL_DATA_DIR}:/data
mautrix-signal_db: mautrix-signal_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:17
restart: always restart: unless-stopped
volumes: volumes:
- ${MAUTRIX_SIGNAL_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAUTRIX_SIGNAL_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${MAUTRIX_SIGNAL_POSTGRES_DB} POSTGRES_DB: ${MAUTRIX_SIGNAL_POSTGRES_DB}
POSTGRES_USER: ${MAUTRIX_SIGNAL_POSTGRES_USER} POSTGRES_USER: ${MAUTRIX_SIGNAL_POSTGRES_USER}
POSTGRES_PASSWORD: ${MAUTRIX_SIGNAL_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${MAUTRIX_SIGNAL_POSTGRES_PASSWORD}
ports:
- 5439:5432
mautrix-whatsapp: mautrix-whatsapp:
container_name: mautrix-whatsapp container_name: mautrix-whatsapp
image: dock.mau.dev/mautrix/whatsapp:v0.2602.0 image: dock.mau.dev/mautrix/whatsapp:v0.12.4
#image: petersmit27/mautrix-whatsapp:latest #image: petersmit27/mautrix-whatsapp:latest
restart: always restart: unless-stopped
volumes: volumes:
- ${MAUTRIX_WHATSAPP_DATA_DIR}:/data - ${MAUTRIX_WHATSAPP_DATA_DIR}:/data
depends_on: depends_on:
- mautrix-whatsapp_db - mautrix-whatsapp_db
mautrix-whatsapp_db: mautrix-whatsapp_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:17
restart: always restart: unless-stopped
volumes: volumes:
- ${MAUTRIX_WHATSAPP_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAUTRIX_WHATSAPP_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${MAUTRIX_WHATSAPP_POSTGRES_DB} POSTGRES_DB: ${MAUTRIX_WHATSAPP_POSTGRES_DB}
POSTGRES_USER: ${MAUTRIX_WHATSAPP_POSTGRES_USER} POSTGRES_USER: ${MAUTRIX_WHATSAPP_POSTGRES_USER}
POSTGRES_PASSWORD: ${MAUTRIX_WHATSAPP_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${MAUTRIX_WHATSAPP_POSTGRES_PASSWORD}
ports:
- 5440:5432
mas: mas:
image: ghcr.io/element-hq/matrix-authentication-service:1.12.0 image: ghcr.io/element-hq/matrix-authentication-service:1.1.0
restart: always restart: unless-stopped
working_dir: /config working_dir: /config
volumes: volumes:
- ${MAS_CONFIG_DIR}:/config - ${MAS_CONFIG_DIR}:/config
@@ -74,31 +70,27 @@ services:
- mas_db - mas_db
mas_db: mas_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:17
restart: always restart: unless-stopped
volumes: volumes:
- ${MAS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${MAS_POSTGRES_DB} POSTGRES_DB: ${MAS_POSTGRES_DB}
POSTGRES_USER: ${MAS_POSTGRES_USER} POSTGRES_USER: ${MAS_POSTGRES_USER}
POSTGRES_PASSWORD: ${MAS_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${MAS_POSTGRES_PASSWORD}
ports:
- 5441:5432
synapse_db: synapse_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:17
restart: always restart: unless-stopped
volumes: volumes:
- ${SYNAPSE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${SYNAPSE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
environment: environment:
POSTGRES_DB: ${SYNAPSE_POSTGRES_DB} POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${SYNAPSE_POSTGRES_USER} POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${SYNAPSE_POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_INITDB_ARGS: '--encoding=UTF-8 --locale=C' POSTGRES_INITDB_ARGS: '--encoding=UTF-8 --locale=C'
ports:
- 5442:5432
synapse: synapse:
container_name: synapse container_name: synapse
image: matrixdotorg/synapse:v1.148.0 image: matrixdotorg/synapse:v1.137.0
restart: always restart: unless-stopped
volumes: volumes:
- ${SYNAPSE_CONFIG_DIR}:/data - ${SYNAPSE_CONFIG_DIR}:/data
ports: ports:
@@ -107,10 +99,3 @@ services:
- synapse_db - synapse_db
- mas - mas
- mautrix-whatsapp - mautrix-whatsapp
element-admin:
image: oci.element.io/element-admin:0.1.10
restart: unless-stopped
ports:
- "8079:8080"
environment:
- SERVER_NAME=${MATRIX_DOMAIN}

View File

@@ -1,5 +1,5 @@
# Use the official PHP image with Apache # Use the official PHP image with Apache
FROM php:8.5-apache FROM php:8.4-apache
# Add Docker's official GPG key: # Add Docker's official GPG key:
RUN apt-get update &&\ RUN apt-get update &&\
@@ -16,7 +16,7 @@ RUN echo \
# Install git and docker-compose # Install git and docker-compose
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-model-plugin && \ apt-get install -y git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Create .docker directory and set permissions # Create .docker directory and set permissions

View File

@@ -1,7 +1,7 @@
services: services:
vaultwarden: vaultwarden:
container_name: vaultwarden container_name: vaultwarden
image: vaultwarden/server:1.35.4 image: vaultwarden/server:1.34.3
restart: always restart: always
volumes: volumes:
- ${VAULTWARDEN_DATA_LOCATION}:/data/ - ${VAULTWARDEN_DATA_LOCATION}:/data/