Uploading Everything
Uploading Every Docker Compose YML file to the Repo
This commit is contained in:
20
Arcane/docker-compose.yml
Normal file
20
Arcane/docker-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
services:
|
||||||
|
arcane:
|
||||||
|
image: ghcr.io/ofkm/arcane:latest
|
||||||
|
container_name: arcane
|
||||||
|
ports:
|
||||||
|
- '3000:3000'
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- C:\Docker\AppData\arcane:/app/data
|
||||||
|
environment:
|
||||||
|
- APP_ENV=production # Required
|
||||||
|
- PUBLIC_SESSION_SECRET=your_super_strong_random_secret_here # Generate: openssl rand -base64 32
|
||||||
|
# Optional: Match your host user for permissions
|
||||||
|
# - PUID=1000
|
||||||
|
# - PGID=1000
|
||||||
|
# Optional: Set if Docker access fails
|
||||||
|
# - DOCKER_GID=998
|
||||||
|
# Optional: For local HTTP testing only
|
||||||
|
# - PUBLIC_ALLOW_INSECURE_COOKIES=true
|
||||||
|
restart: unless-stopped
|
||||||
92
Authentik/docker-compose.yml
Normal file
92
Authentik/docker-compose.yml
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
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:
|
||||||
|
- C:\Docker\AppData\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:
|
||||||
|
- C:\Docker\AppData\authentik\redis:/data
|
||||||
|
server:
|
||||||
|
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.3}
|
||||||
|
restart: unless-stopped
|
||||||
|
command: server
|
||||||
|
environment:
|
||||||
|
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||||
|
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:
|
||||||
|
- C:\Docker\AppData\authentik\media:/media
|
||||||
|
- C:\Docker\AppData\authentik\custom-templates:/templates
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
ports:
|
||||||
|
- "${COMPOSE_PORT_HTTP:-9000}:9000"
|
||||||
|
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
|
||||||
|
depends_on:
|
||||||
|
postgresql:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
worker:
|
||||||
|
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.3}
|
||||||
|
restart: unless-stopped
|
||||||
|
command: worker
|
||||||
|
environment:
|
||||||
|
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||||
|
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` and the docker socket volume are optional.
|
||||||
|
# See more for the docker socket integration here:
|
||||||
|
# https://goauthentik.io/docs/outposts/integrations/docker
|
||||||
|
# Removing `user: root` also prevents the worker from fixing the permissions
|
||||||
|
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
|
||||||
|
# (1000:1000 by default)
|
||||||
|
user: root
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- C:\Docker\AppData\authentik\media:/media
|
||||||
|
- C:\Docker\AppData\authentik\certs:/certs
|
||||||
|
- C:\Docker\AppData\authentik\custom-templates:/templates
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
depends_on:
|
||||||
|
postgresql:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
database:
|
||||||
|
driver: local
|
||||||
|
redis:
|
||||||
|
driver: local
|
||||||
18
Baikal/docker-compose.yml
Normal file
18
Baikal/docker-compose.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Docker Compose file for a Baikal server with local mounts instead of Docker volumes
|
||||||
|
|
||||||
|
# Before you start docker compose up, make sure that you have prepared
|
||||||
|
# the local folders to avoid file permission issues with
|
||||||
|
#
|
||||||
|
# mkdir -p config Specific/db
|
||||||
|
# chown -R 101:101 config Specific <- Use this for Nginx
|
||||||
|
# chown -R 33:33 config Specific <- Use this for Apache httpd
|
||||||
|
|
||||||
|
services:
|
||||||
|
baikal:
|
||||||
|
image: ckulka/baikal:nginx
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "802:80"
|
||||||
|
volumes:
|
||||||
|
- D:\Users\MohandL3G\Docker\AppData\baikal\config:/var/www/baikal/config
|
||||||
|
- D:\Users\MohandL3G\Docker\AppData\baikal\Specific:/var/www/baikal/Specific
|
||||||
11
Cup/docker-compose.yml
Normal file
11
Cup/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
name: cup
|
||||||
|
services:
|
||||||
|
cup:
|
||||||
|
image: ghcr.io/sergi0g/cup:latest
|
||||||
|
container_name: cup # Optional
|
||||||
|
restart: unless-stopped
|
||||||
|
command: serve
|
||||||
|
ports:
|
||||||
|
- 8001:8000
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
27
Diun/docker-compose.yml
Normal file
27
Diun/docker-compose.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
name: diun
|
||||||
|
|
||||||
|
services:
|
||||||
|
diun:
|
||||||
|
image: crazymax/diun:latest
|
||||||
|
container_name: diun
|
||||||
|
hostname: MohandL3G
|
||||||
|
command: serve
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\diun\data:/data
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
environment:
|
||||||
|
- "TZ=Africa/Tripoli"
|
||||||
|
- "DIUN_WATCH_WORKERS=20"
|
||||||
|
- "DIUN_WATCH_SCHEDULE=0 */6 * * *"
|
||||||
|
- "DIUN_WATCH_JITTER=30s"
|
||||||
|
- "DIUN_PROVIDERS_DOCKER=true"
|
||||||
|
- "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true"
|
||||||
|
- "DIUN_NOTIF_DISCORD_WEBHOOKURL=https://discordapp.com/api/webhooks/1387006555471220877/FEsUF1peouAW9khRN0mVQkDmsbEhXdj_gFTV5BgvSUqr0TGbfea3oxw7ErZf_AATQt5R" # change to your webhook
|
||||||
|
# - "DIUN_NOTIF_DISCORD_MENTIONS" # (comma separated)
|
||||||
|
- "DIUN_NOTIF_DISCORD_RENDERFIELDS=true"
|
||||||
|
- "DIUN_NOTIF_DISCORD_TIMEOUT=10s"
|
||||||
|
# - "DIUN_NOTIF_DISCORD_TEMPLATEBODY"
|
||||||
|
labels:
|
||||||
|
- "diun.enable=true"
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
22
Dockge/docker-compose.yml
Normal file
22
Dockge/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
services:
|
||||||
|
dockge:
|
||||||
|
image: louislam/dockge:1
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
# Host Port : Container Port
|
||||||
|
- 5001:5001
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- C:\Docker\AppData\Dockge\data:/app/data
|
||||||
|
|
||||||
|
# If you want to use private registries, you need to share the auth file with Dockge:
|
||||||
|
# - /root/.docker/:/root/.docker
|
||||||
|
|
||||||
|
# Stacks Directory
|
||||||
|
# ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
|
||||||
|
# ⚠️ 1. FULL path only. No relative path (MUST)
|
||||||
|
# ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
|
||||||
|
- C:\Docker\AppData\Dockge\stacks:/opt/stacks
|
||||||
|
environment:
|
||||||
|
# Tell Dockge where is your stacks directory
|
||||||
|
- DOCKGE_STACKS_DIR=/opt/stacks
|
||||||
21
Duplicati/docker-compose.yml
Normal file
21
Duplicati/docker-compose.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
duplicati:
|
||||||
|
image: lscr.io/linuxserver/duplicati:latest
|
||||||
|
container_name: duplicati
|
||||||
|
hostname: MohandL3G
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
- SETTINGS_ENCRYPTION_KEY=9199@mhD@9199
|
||||||
|
- CLI_ARGS= #optional
|
||||||
|
- DUPLICATI__WEBSERVICE_PASSWORD=9199@mhD #optional
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\duplicati\config:/config
|
||||||
|
- C:\Docker\AppData\duplicati\backups:/backups
|
||||||
|
- C:\Docker\AppData\duplicati\source:/source
|
||||||
|
- C:\Docker:/source/dockerdata
|
||||||
|
ports:
|
||||||
|
- 8200:8200
|
||||||
|
restart: unless-stopped
|
||||||
24
FileBrowser Quantum/docker-compose.yml
Normal file
24
FileBrowser Quantum/docker-compose.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
services:
|
||||||
|
filebrowser:
|
||||||
|
environment:
|
||||||
|
FILEBROWSER_CONFIG: "data/config.yaml"
|
||||||
|
FILEBROWSER_ADMIN_PASSWORD: admin
|
||||||
|
volumes:
|
||||||
|
- 'C:\Docker\AppData\filebrowserquantum\folder:/folder' # Never mount root "/" directory to docker, always choose a sub-folder with your data.
|
||||||
|
# Folders on Windows:
|
||||||
|
- 'C:\Docker\Compose:/folder/windows/Docker Compose'
|
||||||
|
- 'C:\Portables:/folder/windows/Portables'
|
||||||
|
- 'C:\Docker\Appdata:/folder/windows/Docker Appdata'
|
||||||
|
- 'C:\Program Files (x86)\Steam\steamapps\common:/folder/windows/Steam Games'
|
||||||
|
- 'C:\Program Files (x86)\Steam\config:/folder/windows/Steam Config'
|
||||||
|
# Rest:
|
||||||
|
- 'C:\Docker\AppData\filebrowserquantum\data:/home/filebrowser/data' # mount the data folder you created with the config file.
|
||||||
|
# Advanced: If you plan to run with a different user besides root or filebrowser, you will need to mount a tmp directory.
|
||||||
|
# - './tmp/:/home/filebrowser/tmp/'
|
||||||
|
ports:
|
||||||
|
- '8081:80' # the left 80 is the port **you will use** to access. The right 80 is the container port that **must match the config.yaml**
|
||||||
|
image: gtstef/filebrowser
|
||||||
|
# Optionally run as non-root filebrowser user
|
||||||
|
#user: filebrowser
|
||||||
|
restart: unless-stopped
|
||||||
40
Gitea/docker-compose.yml
Normal file
40
Gitea/docker-compose.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
name: gitea
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: docker.gitea.com/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=db:5432
|
||||||
|
- GITEA__database__NAME=gitea
|
||||||
|
- GITEA__database__USER=gitea
|
||||||
|
- GITEA__database__PASSWD=gitea
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\gitea\data:/data
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: docker.io/library/postgres:18.1
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=gitea
|
||||||
|
- POSTGRES_PASSWORD=gitea
|
||||||
|
- POSTGRES_DB=gitea
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\gitea\postgres:/var/lib/postgresql
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
16
Heimdall/docker-compose.yml
Normal file
16
Heimdall/docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: heimdall
|
||||||
|
services:
|
||||||
|
heimdall:
|
||||||
|
image: lscr.io/linuxserver/heimdall:latest
|
||||||
|
container_name: heimdall
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
- ALLOW_INTERNAL_REQUESTS=false #optional
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\heimdall\config:/config
|
||||||
|
ports:
|
||||||
|
- 380:80
|
||||||
|
- 3443:443
|
||||||
|
restart: unless-stopped
|
||||||
16
HomeAssistant/docker-compose.yml
Normal file
16
HomeAssistant/docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: homeassistant
|
||||||
|
services:
|
||||||
|
homeassistant:
|
||||||
|
image: lscr.io/linuxserver/homeassistant:latest
|
||||||
|
container_name: homeassistant
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\homeassistant\config:/config
|
||||||
|
ports:
|
||||||
|
- 8123:8123
|
||||||
|
#devices:
|
||||||
|
# - /path/to/device:/path/to/device
|
||||||
|
restart: unless-stopped
|
||||||
12
Homepage/docker-compose.yml
Normal file
12
Homepage/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
homepage:
|
||||||
|
image: ghcr.io/gethomepage/homepage:latest
|
||||||
|
container_name: homepage
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\homepage\config:/app/config # Make sure your local config directory exists
|
||||||
|
- C:\Docker\AppData\homepage\images:/app/public/images
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods
|
||||||
|
environment:
|
||||||
|
HOMEPAGE_ALLOWED_HOSTS: "*" # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
||||||
22
Immich/.env
Normal file
22
Immich/.env
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables
|
||||||
|
|
||||||
|
# The location where your uploaded files are stored
|
||||||
|
UPLOAD_LOCATION=C:\Data\AppData\immich\uploads
|
||||||
|
|
||||||
|
# The location where your database files are stored. Network shares are not supported for the database
|
||||||
|
DB_DATA_LOCATION=C:\Data\AppData\immich\postgres
|
||||||
|
|
||||||
|
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
|
||||||
|
TZ=Africa/Tripoli
|
||||||
|
|
||||||
|
# The Immich version to use. You can pin this to a specific version like "v2.1.0"
|
||||||
|
IMMICH_VERSION=RELEASE
|
||||||
|
|
||||||
|
# Connection secret for postgres. You should change it to a random password
|
||||||
|
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
|
||||||
|
DB_PASSWORD=postgres
|
||||||
|
|
||||||
|
# The values below this line do not need to be changed
|
||||||
|
###################################################################################
|
||||||
|
DB_USERNAME=postgres
|
||||||
|
DB_DATABASE_NAME=immich
|
||||||
71
Immich/docker-compose.yml
Normal file
71
Immich/docker-compose.yml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
#
|
||||||
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
||||||
|
#
|
||||||
|
# Make sure to use the docker-compose.yml of the current release:
|
||||||
|
#
|
||||||
|
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||||
|
#
|
||||||
|
# The compose file on main may not be compatible with the latest release.
|
||||||
|
|
||||||
|
name: immich
|
||||||
|
|
||||||
|
services:
|
||||||
|
immich-server:
|
||||||
|
container_name: immich_server
|
||||||
|
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||||
|
extends:
|
||||||
|
file: hwaccel.transcoding.yml
|
||||||
|
service: nvenc
|
||||||
|
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
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
ports:
|
||||||
|
- '2283:2283'
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- database
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
disable: false
|
||||||
|
|
||||||
|
immich-machine-learning:
|
||||||
|
container_name: immich_machine_learning
|
||||||
|
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
|
||||||
|
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
||||||
|
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
|
||||||
|
extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
|
||||||
|
file: hwaccel.ml.yml
|
||||||
|
service: cuda
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\immich\model-cache:/cache
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
disable: false
|
||||||
|
|
||||||
|
redis:
|
||||||
|
container_name: immich_redis
|
||||||
|
image: docker.io/valkey/valkey:9@sha256:fb8d272e529ea567b9bf1302245796f21a2672b8368ca3fcb938ac334e613c8f
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping || exit 1
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
database:
|
||||||
|
container_name: immich_postgres
|
||||||
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
|
POSTGRES_USER: ${DB_USERNAME}
|
||||||
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||||
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||||
|
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
|
||||||
|
# DB_STORAGE_TYPE: 'HDD'
|
||||||
|
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
|
||||||
|
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||||
|
shm_size: 128mb
|
||||||
|
restart: always
|
||||||
58
Immich/docker-compose.yml.old
Normal file
58
Immich/docker-compose.yml.old
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
|
||||||
|
#
|
||||||
|
# Make sure to use the docker-compose.yml of the current release:
|
||||||
|
#
|
||||||
|
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||||
|
#
|
||||||
|
# The compose file on main may not be compatible with the latest release.
|
||||||
|
|
||||||
|
name: immich
|
||||||
|
|
||||||
|
services:
|
||||||
|
immich-server:
|
||||||
|
container_name: immich_server
|
||||||
|
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||||
|
# extends:
|
||||||
|
# file: hwaccel.transcoding.yml
|
||||||
|
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
||||||
|
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
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
ports:
|
||||||
|
- '2283:2283'
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- database
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
disable: false
|
||||||
|
|
||||||
|
redis:
|
||||||
|
container_name: immich_redis
|
||||||
|
image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping || exit 1
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
database:
|
||||||
|
container_name: immich_postgres
|
||||||
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||||
|
POSTGRES_USER: ${DB_USERNAME}
|
||||||
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||||
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||||
|
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
|
||||||
|
# DB_STORAGE_TYPE: 'HDD'
|
||||||
|
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
|
||||||
|
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||||
|
shm_size: 128mb
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
model-cache:
|
||||||
57
Immich/hwaccel.ml.yml
Normal file
57
Immich/hwaccel.ml.yml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# Configurations for hardware-accelerated machine learning
|
||||||
|
|
||||||
|
# If using Unraid or another platform that doesn't allow multiple Compose files,
|
||||||
|
# you can inline the config for a backend by copying its contents
|
||||||
|
# into the immich-machine-learning service in the docker-compose.yml file.
|
||||||
|
|
||||||
|
# See https://docs.immich.app/features/ml-hardware-acceleration for info on usage.
|
||||||
|
|
||||||
|
services:
|
||||||
|
armnn:
|
||||||
|
devices:
|
||||||
|
- /dev/mali0:/dev/mali0
|
||||||
|
volumes:
|
||||||
|
- /lib/firmware/mali_csffw.bin:/lib/firmware/mali_csffw.bin:ro # Mali firmware for your chipset (not always required depending on the driver)
|
||||||
|
- /usr/lib/libmali.so:/usr/lib/libmali.so:ro # Mali driver for your chipset (always required)
|
||||||
|
|
||||||
|
rknn:
|
||||||
|
security_opt:
|
||||||
|
- systempaths=unconfined
|
||||||
|
- apparmor=unconfined
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
|
||||||
|
cpu: {}
|
||||||
|
|
||||||
|
cuda:
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: 1
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
|
||||||
|
rocm:
|
||||||
|
group_add:
|
||||||
|
- video
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
- /dev/kfd:/dev/kfd
|
||||||
|
|
||||||
|
openvino:
|
||||||
|
device_cgroup_rules:
|
||||||
|
- 'c 189:* rmw'
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
volumes:
|
||||||
|
- /dev/bus/usb:/dev/bus/usb
|
||||||
|
|
||||||
|
openvino-wsl:
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
- /dev/dxg:/dev/dxg
|
||||||
|
volumes:
|
||||||
|
- /dev/bus/usb:/dev/bus/usb
|
||||||
|
- /usr/lib/wsl:/usr/lib/wsl
|
||||||
55
Immich/hwaccel.transcoding.yml
Normal file
55
Immich/hwaccel.transcoding.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Configurations for hardware-accelerated transcoding
|
||||||
|
|
||||||
|
# If using Unraid or another platform that doesn't allow multiple Compose files,
|
||||||
|
# you can inline the config for a backend by copying its contents
|
||||||
|
# into the immich-microservices service in the docker-compose.yml file.
|
||||||
|
|
||||||
|
# See https://docs.immich.app/features/hardware-transcoding for more info on using hardware transcoding.
|
||||||
|
|
||||||
|
services:
|
||||||
|
cpu: {}
|
||||||
|
|
||||||
|
nvenc:
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: 1
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
- compute
|
||||||
|
- video
|
||||||
|
|
||||||
|
quicksync:
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
|
||||||
|
rkmpp:
|
||||||
|
security_opt: # enables full access to /sys and /proc, still far better than privileged: true
|
||||||
|
- systempaths=unconfined
|
||||||
|
- apparmor=unconfined
|
||||||
|
group_add:
|
||||||
|
- video
|
||||||
|
devices:
|
||||||
|
- /dev/rga:/dev/rga
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
- /dev/dma_heap:/dev/dma_heap
|
||||||
|
- /dev/mpp_service:/dev/mpp_service
|
||||||
|
#- /dev/mali0:/dev/mali0 # only required to enable OpenCL-accelerated HDR -> SDR tonemapping
|
||||||
|
volumes:
|
||||||
|
#- /etc/OpenCL:/etc/OpenCL:ro # only required to enable OpenCL-accelerated HDR -> SDR tonemapping
|
||||||
|
#- /usr/lib/aarch64-linux-gnu/libmali.so.1:/usr/lib/aarch64-linux-gnu/libmali.so.1:ro # only required to enable OpenCL-accelerated HDR -> SDR tonemapping
|
||||||
|
|
||||||
|
vaapi:
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
|
||||||
|
vaapi-wsl: # use this for VAAPI if you're running Immich in WSL2
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
- /dev/dxg:/dev/dxg
|
||||||
|
volumes:
|
||||||
|
- /usr/lib/wsl:/usr/lib/wsl
|
||||||
|
environment:
|
||||||
|
- LIBVA_DRIVER_NAME=d3d12
|
||||||
9
JDownloader/docker-compose.yml
Normal file
9
JDownloader/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
services:
|
||||||
|
jdownloader-2:
|
||||||
|
image: jlesage/jdownloader-2
|
||||||
|
ports:
|
||||||
|
- "5800:5800"
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\jdownloader\config:/config:rw
|
||||||
|
- C:\Users\MohandL3G\Downloads\Jdownloader:/output:rw
|
||||||
|
restart: unless-stopped
|
||||||
29
Jellyfin/docker-compose.yml
Normal file
29
Jellyfin/docker-compose.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
name: linuxserver-jellyfin
|
||||||
|
services:
|
||||||
|
jellyfin:
|
||||||
|
image: linuxserver/jellyfin:latest
|
||||||
|
container_name: jellyfin
|
||||||
|
hostname: MohandL3G-Server
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
- gpus=all
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\jellyfin\config:/config
|
||||||
|
- C:\Data\AppData\jellyfin\media:/data/media
|
||||||
|
ports:
|
||||||
|
- 8096:8096
|
||||||
|
- 8920:8920 #optional
|
||||||
|
- 7359:7359/udp #optional
|
||||||
|
- 1900:1900/udp #optional
|
||||||
|
deploy:
|
||||||
|
# Add this section
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: 1
|
||||||
|
capabilities:
|
||||||
|
- gpu
|
||||||
|
restart: unless-stopped
|
||||||
20
Jellyseerr/docker-compose.yml
Normal file
20
Jellyseerr/docker-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
name: jellyseerr
|
||||||
|
services:
|
||||||
|
jellyseerr:
|
||||||
|
image: ghcr.io/fallenbagel/jellyseerr:latest
|
||||||
|
init: true
|
||||||
|
container_name: jellyseerr
|
||||||
|
environment:
|
||||||
|
- LOG_LEVEL=debug
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
ports:
|
||||||
|
- 5055:5055
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\jellyseerr\config:/app/config
|
||||||
|
healthcheck:
|
||||||
|
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
||||||
|
start_period: 20s
|
||||||
|
timeout: 3s
|
||||||
|
interval: 15s
|
||||||
|
retries: 3
|
||||||
|
restart: unless-stopped
|
||||||
59
ListSync/docker-compose.yml
Normal file
59
ListSync/docker-compose.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
services:
|
||||||
|
listsync-full:
|
||||||
|
image: ghcr.io/woahai321/list-sync:main
|
||||||
|
container_name: listsync-full
|
||||||
|
ports:
|
||||||
|
# Frontend (Next.js Dashboard)
|
||||||
|
- "3222:3222"
|
||||||
|
# Backend API (FastAPI)
|
||||||
|
- "4222:4222"
|
||||||
|
environment:
|
||||||
|
# Timezone Configuration (set to Europe/London for BST/GMT, change as needed)
|
||||||
|
- TZ=${TZ:-GMT}
|
||||||
|
|
||||||
|
# Overseerr Configuration
|
||||||
|
- OVERSEERR_URL=${OVERSEERR_URL}
|
||||||
|
- OVERSEERR_API_KEY=${OVERSEERR_API_KEY}
|
||||||
|
- OVERSEERR_USER_ID=${OVERSEERR_USER_ID:-1}
|
||||||
|
- SYNC_INTERVAL=${SYNC_INTERVAL:-24}
|
||||||
|
- AUTOMATED_MODE=true
|
||||||
|
- OVERSEERR_4K=${OVERSEERR_4K:-false}
|
||||||
|
|
||||||
|
# List Configuration (comma-separated)
|
||||||
|
- IMDB_LISTS=${IMDB_LISTS}
|
||||||
|
- TRAKT_LISTS=${TRAKT_LISTS}
|
||||||
|
- LETTERBOXD_LISTS=${LETTERBOXD_LISTS}
|
||||||
|
- MDBLIST_LISTS=${MDBLIST_LISTS}
|
||||||
|
- STEVENLU_LISTS=${STEVENLU_LISTS}
|
||||||
|
- TRAKT_SPECIAL_LISTS=${TRAKT_SPECIAL_LISTS}
|
||||||
|
- TRAKT_SPECIAL_ITEMS_LIMIT=${TRAKT_SPECIAL_ITEMS_LIMIT}
|
||||||
|
|
||||||
|
# Optional Discord webhook
|
||||||
|
- DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL}
|
||||||
|
|
||||||
|
# Internal API URL for frontend
|
||||||
|
- NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://0.0.0.0:4222/api}
|
||||||
|
|
||||||
|
# Docker-specific settings
|
||||||
|
- RUNNING_IN_DOCKER=true
|
||||||
|
- NO_SANDBOX=1
|
||||||
|
- DISPLAY=:99
|
||||||
|
volumes:
|
||||||
|
# Persist data directory
|
||||||
|
- C:\Docker\AppData\listsync\data:/usr/src/app/data
|
||||||
|
# Mount environment file
|
||||||
|
- C:\Docker\Compose\ListSync\.env:/usr/src/app/.env
|
||||||
|
# Optional: Mount logs for debugging
|
||||||
|
- C:\Docker\AppData\listsync\logs:/var/log/supervisor
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:4222/api/system/health", "&&", "curl", "-f", "http://localhost:3222"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 60s
|
||||||
|
# Note: Complete ListSync application with:
|
||||||
|
# - Core sync service (python -m list_sync)
|
||||||
|
# - FastAPI backend (port 4222)
|
||||||
|
# - Next.js frontend (port 3222)
|
||||||
|
# All managed by supervisor for reliability
|
||||||
14
NPM/docker-compose.yml
Normal file
14
NPM/docker-compose.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
name: nginxproxymanager
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
TZ: Africa/Tripoli
|
||||||
|
ports:
|
||||||
|
- '80:80'
|
||||||
|
- '81:81'
|
||||||
|
- '443:443'
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\nginxproxymanager\data:/data
|
||||||
|
- C:\Data\AppData\nginxproxymanager\etc\letsencrypt:/etc/letsencrypt
|
||||||
11
Newt/docker-compose.yml
Normal file
11
Newt/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
name: newt
|
||||||
|
services:
|
||||||
|
newt:
|
||||||
|
image: fosrl/newt
|
||||||
|
container_name: newt
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- PANGOLIN_ENDPOINT=https://pangolin.mohandl3g.ly
|
||||||
|
- NEWT_ID=crcnpqj8nnlr2bo
|
||||||
|
- NEWT_SECRET=6pudccxon6g447lcr0z9v9favu3xca4ornn4x9avrkv6jr6b
|
||||||
|
network_mode: host
|
||||||
16
Nextcloud/docker-compose.yml
Normal file
16
Nextcloud/docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: linuxserver-nextcloud
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: linuxserver/nextcloud:latest
|
||||||
|
container_name: nextcloud
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\nextcloud\config:/config
|
||||||
|
- C:\Data\AppData\nextcloud\data:/data
|
||||||
|
ports:
|
||||||
|
- 1443:443
|
||||||
|
- 180:80
|
||||||
|
restart: unless-stopped
|
||||||
11
Nexterm/docker-compose.yml
Normal file
11
Nexterm/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
name: nexterm
|
||||||
|
services:
|
||||||
|
nexterm:
|
||||||
|
environment:
|
||||||
|
ENCRYPTION_KEY: "828e720745f57b94c0b2fe64a94e31b6413c1f189d6a533acc844db35753bbb0" # Replace with your generated key
|
||||||
|
ports:
|
||||||
|
- "6989:6989"
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\nexterm\data:/app/data
|
||||||
|
image: germannewsmaker/nexterm:latest
|
||||||
37
Paperless-NGX/docker-compose.env
Normal file
37
Paperless-NGX/docker-compose.env
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Paperless-ngx settings #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# See http://docs.paperless-ngx.com/configuration/ for all available options.
|
||||||
|
|
||||||
|
# The UID and GID of the user used to run paperless in the container. Set this
|
||||||
|
# to your UID and GID on the host so that you have write access to the
|
||||||
|
# consumption directory.
|
||||||
|
#USERMAP_UID=1000
|
||||||
|
#USERMAP_GID=1000
|
||||||
|
|
||||||
|
# See the documentation linked above for all options. A few commonly adjusted settings
|
||||||
|
# are provided below.
|
||||||
|
|
||||||
|
# This is required if you will be exposing Paperless-ngx on a public domain
|
||||||
|
# (if doing so please consider security measures such as reverse proxy)
|
||||||
|
PAPERLESS_URL=https://paperless.mohandl3g.ddnsgeek.com
|
||||||
|
|
||||||
|
# Adjust this key if you plan to make paperless available publicly. It should
|
||||||
|
# be a very long sequence of random characters. You don't need to remember it.
|
||||||
|
#PAPERLESS_SECRET_KEY=9199@mhD@9199
|
||||||
|
|
||||||
|
# Use this variable to set a timezone for the Paperless Docker containers. Defaults to UTC.
|
||||||
|
#PAPERLESS_TIME_ZONE=Africa/Tripoli
|
||||||
|
|
||||||
|
# The default language to use for OCR. Set this to the language most of your
|
||||||
|
# documents are written in.
|
||||||
|
#PAPERLESS_OCR_LANGUAGE=eng
|
||||||
|
|
||||||
|
# Additional languages to install for text recognition, separated by a whitespace.
|
||||||
|
# Note that this is different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines
|
||||||
|
# the language used for OCR.
|
||||||
|
# The container installs English, German, Italian, Spanish and French by default.
|
||||||
|
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
|
||||||
|
# for available languages.
|
||||||
|
#PAPERLESS_OCR_LANGUAGES=tur+ces+ara
|
||||||
59
Paperless-NGX/docker-compose.yml
Normal file
59
Paperless-NGX/docker-compose.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Docker Compose file for running paperless from the Docker Hub.
|
||||||
|
# This file contains everything paperless needs to run.
|
||||||
|
# Paperless supports amd64, arm and arm64 hardware.
|
||||||
|
#
|
||||||
|
# All compose files of paperless configure paperless in the following way:
|
||||||
|
#
|
||||||
|
# - Paperless is (re)started on system boot, if it was running before shutdown.
|
||||||
|
# - Docker volumes for storing data are managed by Docker.
|
||||||
|
# - Folders for importing and exporting files are created in the same directory
|
||||||
|
# as this file and mounted to the correct folders inside the container.
|
||||||
|
# - Paperless listens on port 8000.
|
||||||
|
#
|
||||||
|
# In addition to that, this Docker Compose file adds the following optional
|
||||||
|
# configurations:
|
||||||
|
#
|
||||||
|
# - Instead of SQLite (default), PostgreSQL is used as the database server.
|
||||||
|
#
|
||||||
|
# To install and update paperless with this file, do the following:
|
||||||
|
#
|
||||||
|
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
|
||||||
|
# and '.env' into a folder.
|
||||||
|
# - Run 'docker compose pull'.
|
||||||
|
# - Run 'docker compose up -d'.
|
||||||
|
#
|
||||||
|
# For more extensive installation and update instructions, refer to the
|
||||||
|
# documentation.
|
||||||
|
|
||||||
|
services:
|
||||||
|
broker:
|
||||||
|
image: docker.io/library/redis:8
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\paperless-ngx\redisdata:/data
|
||||||
|
db:
|
||||||
|
image: docker.io/library/postgres:17
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\paperless-ngx\pgdata:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: paperless
|
||||||
|
POSTGRES_USER: paperless
|
||||||
|
POSTGRES_PASSWORD: paperless
|
||||||
|
webserver:
|
||||||
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- broker
|
||||||
|
ports:
|
||||||
|
- "8001:8000"
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\paperless-ngx\data:/usr/src/paperless/data
|
||||||
|
- C:\Docker\AppData\paperless-ngx\media:/usr/src/paperless/media
|
||||||
|
- C:\Docker\AppData\paperless-ngx\export:/usr/src/paperless/export
|
||||||
|
- C:\Docker\AppData\paperless-ngx\consume:/usr/src/paperless/consume
|
||||||
|
env_file: docker-compose.env
|
||||||
|
environment:
|
||||||
|
PAPERLESS_REDIS: redis://broker:6379
|
||||||
|
PAPERLESS_DBHOST: db
|
||||||
39
PiHole/docker-compose.yml
Normal file
39
PiHole/docker-compose.yml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
|
||||||
|
services:
|
||||||
|
pihole:
|
||||||
|
container_name: pihole
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
ports:
|
||||||
|
# DNS Ports
|
||||||
|
- "53:53/tcp"
|
||||||
|
- "53:53/udp"
|
||||||
|
# Default HTTP Port
|
||||||
|
- "280:80/tcp"
|
||||||
|
# Default HTTPs Port. FTL will generate a self-signed certificate
|
||||||
|
- "2443:443/tcp"
|
||||||
|
# Uncomment the line below if you are using Pi-hole as your DHCP server
|
||||||
|
#- "67:67/udp"
|
||||||
|
# Uncomment the line below if you are using Pi-hole as your NTP server
|
||||||
|
#- "123:123/udp"
|
||||||
|
environment:
|
||||||
|
# Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g:
|
||||||
|
TZ: "Africa/Tripoli"
|
||||||
|
# Set a password to access the web interface. Not setting one will result in a random password being assigned
|
||||||
|
FTLCONF_webserver_api_password: "9199@mhD"
|
||||||
|
# If using Docker's default `bridge` network setting the dns listening mode should be set to 'ALL'
|
||||||
|
FTLCONF_dns_listeningMode: "ALL"
|
||||||
|
# Volumes store your data between container upgrades
|
||||||
|
volumes:
|
||||||
|
# For persisting Pi-hole's databases and common configuration file
|
||||||
|
- C:\Data\AppData\pihole:/etc/pihole
|
||||||
|
# Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most starting fresh with Pi-hole v6. If you're upgrading from v5 you and have used this directory before, you should keep it enabled for the first v6 container start to allow for a complete migration. It can be removed afterwards. Needs environment variable FTLCONF_misc_etc_dnsmasq_d: 'true'
|
||||||
|
#- './etc-dnsmasq.d:/etc/dnsmasq.d'
|
||||||
|
cap_add:
|
||||||
|
# See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
|
||||||
|
# Required if you are using Pi-hole as your DHCP server, else not needed
|
||||||
|
- NET_ADMIN
|
||||||
|
# Required if you are using Pi-hole as your NTP client to be able to set the host's system time
|
||||||
|
- SYS_TIME
|
||||||
|
# Optional, if Pi-hole should get some more processing time
|
||||||
|
- SYS_NICE
|
||||||
|
restart: unless-stopped
|
||||||
15
Portainer-CE/docker-compose.yml
Normal file
15
Portainer-CE/docker-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
name: portainer-ce
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
container_name: portainer
|
||||||
|
image: portainer/portainer-ce:latest
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- C:\Data\AppData\portainer\data:/data
|
||||||
|
ports:
|
||||||
|
- 9443:9443
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: portainer_network
|
||||||
16
Sonarr/docker-compose.yml
Normal file
16
Sonarr/docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
sonarr:
|
||||||
|
image: lscr.io/linuxserver/sonarr:latest
|
||||||
|
container_name: sonarr
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\sonarr\data:/config
|
||||||
|
- C:\Docker\AppData\jellyfin\data\TV Shows:/tv #optional
|
||||||
|
- C:\Docker\AppData\sonarr\downloads:/downloads #optional
|
||||||
|
ports:
|
||||||
|
- 8989:8989
|
||||||
|
restart: unless-stopped
|
||||||
18
Syncthing/docker-compose.yml
Normal file
18
Syncthing/docker-compose.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
services:
|
||||||
|
syncthing:
|
||||||
|
image: lscr.io/linuxserver/syncthing:latest
|
||||||
|
container_name: syncthing
|
||||||
|
hostname: MyPC #optional
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\syncthing\config:/config
|
||||||
|
- C:\Docker\AppData\syncthing\Shared:/mnt/shared
|
||||||
|
ports:
|
||||||
|
- 8384:8384
|
||||||
|
- 22000:22000/tcp
|
||||||
|
- 22000:22000/udp
|
||||||
|
- 21027:21027/udp
|
||||||
|
restart: unless-stopped
|
||||||
54
Tugtainer/docker-compose.yml
Normal file
54
Tugtainer/docker-compose.yml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
name: tugtainer
|
||||||
|
networks:
|
||||||
|
tugtainer:
|
||||||
|
driver: bridge
|
||||||
|
volumes:
|
||||||
|
tugtainer_data:
|
||||||
|
services:
|
||||||
|
# Socket proxy is used by default,
|
||||||
|
# but you can mount docker socket directly
|
||||||
|
# and remove this service and DOCKER_HOST variable
|
||||||
|
socket-proxy:
|
||||||
|
image: lscr.io/linuxserver/socket-proxy:latest
|
||||||
|
container_name: socket-proxy
|
||||||
|
environment:
|
||||||
|
CONTAINERS: 1
|
||||||
|
EVENTS: 1
|
||||||
|
IMAGES: 1
|
||||||
|
INFO: 1
|
||||||
|
LOG_LEVEL: warning
|
||||||
|
PING: 1
|
||||||
|
NETWORKS: 1
|
||||||
|
POST: 1
|
||||||
|
TZ: Africa/Tripoli
|
||||||
|
VERSION: 1
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
read_only: true
|
||||||
|
tmpfs:
|
||||||
|
- /run
|
||||||
|
networks:
|
||||||
|
- tugtainer
|
||||||
|
labels:
|
||||||
|
dev.quenary.tugtainer.protected: True
|
||||||
|
app:
|
||||||
|
depends_on:
|
||||||
|
- socket-proxy
|
||||||
|
container_name: tugtainer
|
||||||
|
image: quenary/tugtainer:latest
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\tugtainer:/tugtainer
|
||||||
|
# You can uncomment this to mount socket directly,
|
||||||
|
# and remove socket-proxy service and DOCKER_HOST variable
|
||||||
|
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
# The list of available variables is in env.example
|
||||||
|
DOCKER_HOST: tcp://socket-proxy:2375
|
||||||
|
networks:
|
||||||
|
- tugtainer
|
||||||
|
ports:
|
||||||
|
- '9412:80'
|
||||||
|
labels:
|
||||||
|
dev.quenary.tugtainer.protected: True
|
||||||
99
Update-DockerStacks-n8n.ps1
Normal file
99
Update-DockerStacks-n8n.ps1
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# --- ADD TO TOP ---
|
||||||
|
# Start capturing all output (Write-Host, errors, etc.)
|
||||||
|
$FullLog = Start-Transcript -Path "$env:TEMP\docker_update_log.txt" -Force
|
||||||
|
# ------------------
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# CONFIGURATION
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
$RootPath = "C:\Users\MohandL3G\Nextcloud\Scripts & Commands\Docker\Compose"
|
||||||
|
|
||||||
|
$ServicesToUpdate = @(
|
||||||
|
"Cup",
|
||||||
|
"Heimdall",
|
||||||
|
"Immich",
|
||||||
|
"Jellyfin",
|
||||||
|
"Jellyseerr",
|
||||||
|
"metube",
|
||||||
|
"n8n",
|
||||||
|
"Newt",
|
||||||
|
"Nextcloud",
|
||||||
|
"Nexterm",
|
||||||
|
"NPM",
|
||||||
|
"Portainer-CE",
|
||||||
|
"Zerobyte"
|
||||||
|
# "FutureApp"
|
||||||
|
)
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# EXECUTION LOGIC
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
Write-Host "Starting Docker Stack Updates..." -ForegroundColor Cyan
|
||||||
|
Write-Host "--------------------------------" -ForegroundColor Gray
|
||||||
|
|
||||||
|
foreach ($Service in $ServicesToUpdate) {
|
||||||
|
$ServicePath = Join-Path -Path $RootPath -ChildPath $Service
|
||||||
|
|
||||||
|
if (Test-Path -Path $ServicePath) {
|
||||||
|
Write-Host "`n[$Service] Checking..." -ForegroundColor Yellow
|
||||||
|
Push-Location -Path $ServicePath
|
||||||
|
|
||||||
|
try {
|
||||||
|
# 1. PULL: Capture output but filter out the noisy progress bars
|
||||||
|
Write-Host "Pulling images..." -ForegroundColor Gray
|
||||||
|
|
||||||
|
# We filter out lines containing "Downloading", "Waiting", etc. to keep logs clean
|
||||||
|
$pullLog = docker compose --progress plain pull 2>&1 |
|
||||||
|
Where-Object { $_ -notmatch "Downloading|Waiting|Verifying|Pulling fs layer|Download complete" } |
|
||||||
|
Out-String
|
||||||
|
|
||||||
|
Write-Host $pullLog
|
||||||
|
|
||||||
|
# 2. UP: Force no-colors and capture the "Running/Recreated" status
|
||||||
|
$upLog = docker compose --ansi never up -d --remove-orphans --no-build 2>&1 | Out-String
|
||||||
|
Write-Host $upLog
|
||||||
|
|
||||||
|
Write-Host "[$Service] Done." -ForegroundColor Green
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "[$Service] ERROR: Something went wrong." -ForegroundColor Red
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
Pop-Location
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Host "`n[$Service] WARNING: Folder not found at $ServicePath" -ForegroundColor Red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# CLEANUP
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
Write-Host "`n--------------------------------" -ForegroundColor Gray
|
||||||
|
Write-Host "Cleaning up unused images..." -ForegroundColor Yellow
|
||||||
|
|
||||||
|
# Redirection ensures the list of deleted IDs and space reclaimed is captured
|
||||||
|
$cleanupLog = docker image prune -f 2>&1 | Out-String
|
||||||
|
Write-Host $cleanupLog
|
||||||
|
|
||||||
|
Write-Host "Cleanup Complete." -ForegroundColor Green
|
||||||
|
Write-Host "All requested updates finished." -ForegroundColor Cyan
|
||||||
|
|
||||||
|
# --- ADD TO BOTTOM ---
|
||||||
|
Stop-Transcript
|
||||||
|
$LogContent = Get-Content "$env:TEMP\docker_update_log.txt" -Raw
|
||||||
|
|
||||||
|
# Send to n8n (Replace the URL with your actual n8n Webhook URL)
|
||||||
|
$WebhookUrl = "https://n8n.mohandl3g.ly/webhook/dockerupdater"
|
||||||
|
$Body = @{
|
||||||
|
status = "complete"
|
||||||
|
service = "DockerUpdater"
|
||||||
|
output = $LogContent
|
||||||
|
}
|
||||||
|
|
||||||
|
Invoke-RestMethod -Uri $WebhookUrl -Method Post -Body ($Body | ConvertTo-Json) -ContentType "application/json"
|
||||||
|
# ---------------------
|
||||||
71
Update-DockerStacks.ps1
Normal file
71
Update-DockerStacks.ps1
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# ==============================================================================
|
||||||
|
# CONFIGURATION
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
$RootPath = "C:\Users\MohandL3G\Nextcloud\Scripts & Commands\Docker\Compose"
|
||||||
|
|
||||||
|
$ServicesToUpdate = @(
|
||||||
|
"Cup",
|
||||||
|
"Heimdall",
|
||||||
|
"Immich",
|
||||||
|
"Jellyfin",
|
||||||
|
"Jellyseerr",
|
||||||
|
"metube",
|
||||||
|
"n8n",
|
||||||
|
"Newt",
|
||||||
|
"Nextcloud",
|
||||||
|
"Nexterm",
|
||||||
|
"NPM",
|
||||||
|
"Portainer-CE",
|
||||||
|
"Zerobyte"
|
||||||
|
# "FutureApp"
|
||||||
|
)
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# EXECUTION LOGIC
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
Write-Host "Starting Docker Stack Updates..." -ForegroundColor Cyan
|
||||||
|
Write-Host "--------------------------------" -ForegroundColor Gray
|
||||||
|
|
||||||
|
foreach ($Service in $ServicesToUpdate) {
|
||||||
|
$ServicePath = Join-Path -Path $RootPath -ChildPath $Service
|
||||||
|
|
||||||
|
if (Test-Path -Path $ServicePath) {
|
||||||
|
Write-Host "`n[$Service] Checking..." -ForegroundColor Yellow
|
||||||
|
Push-Location -Path $ServicePath
|
||||||
|
|
||||||
|
try {
|
||||||
|
# 1. PULL: This will show progress bars directly in your console.
|
||||||
|
docker compose pull
|
||||||
|
|
||||||
|
# 2. UP: This acts as the "Check".
|
||||||
|
# If the image is new, it recreates the container.
|
||||||
|
# If the image is old, it says "Up to date" and keeps running.
|
||||||
|
docker compose up -d --remove-orphans --no-build
|
||||||
|
|
||||||
|
Write-Host "[$Service] Done." -ForegroundColor Green
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "[$Service] ERROR: Something went wrong." -ForegroundColor Red
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
Pop-Location
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Host "`n[$Service] WARNING: Folder not found at $ServicePath" -ForegroundColor Red
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# CLEANUP
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
Write-Host "`n--------------------------------" -ForegroundColor Gray
|
||||||
|
Write-Host "Cleaning up unused images..." -ForegroundColor Yellow
|
||||||
|
|
||||||
|
docker image prune -f
|
||||||
|
|
||||||
|
Write-Host "Cleanup Complete." -ForegroundColor Green
|
||||||
|
Write-Host "All requested updates finished." -ForegroundColor Cyan
|
||||||
22
Zerobyte/docker-compose.yml
Normal file
22
Zerobyte/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
name: zerobyte
|
||||||
|
services:
|
||||||
|
zerobyte:
|
||||||
|
image: ghcr.io/nicotsx/zerobyte:latest
|
||||||
|
container_name: zerobyte
|
||||||
|
restart: unless-stopped
|
||||||
|
cap_add:
|
||||||
|
- SYS_ADMIN
|
||||||
|
ports:
|
||||||
|
- "4096:4096"
|
||||||
|
devices:
|
||||||
|
- /dev/fuse:/dev/fuse
|
||||||
|
environment:
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
- BASE_URL=https://zerobyte.mohandl3g.ly
|
||||||
|
- TRUSTED_ORIGINS=https://zerobyte.mohandl3g.ddnsgeek.com
|
||||||
|
- APP_SECRET=534294ad0803bc02d212327f6f46711170aba839a02c91c910b41224efa11579
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- C:\Data\AppData\zerobyte:/var/lib/zerobyte
|
||||||
|
- C:\Data\AppData:/mydata/AppData
|
||||||
|
- C:\Users\MohandL3G\AppData\Roaming\rclone:/root/.config/rclone
|
||||||
15
metube/docker-compose.yml
Normal file
15
metube/docker-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
name: metube
|
||||||
|
services:
|
||||||
|
metube:
|
||||||
|
image: ghcr.io/alexta69/metube
|
||||||
|
container_name: metube
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- STATE_DIR=/metube_state
|
||||||
|
- YTDL_OPTIONS={"cookiefile":"/cookies/cookies.txt"}
|
||||||
|
ports:
|
||||||
|
- "8081:8081"
|
||||||
|
volumes:
|
||||||
|
- C:\Users\MohandL3G\Downloads\Metube:/downloads
|
||||||
|
- C:\Data\AppData\metube\state:/metube_state
|
||||||
|
- C:\Data\AppData\metube\cookies:/cookies
|
||||||
58
n8n/docker-compose.yml
Normal file
58
n8n/docker-compose.yml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
name: n8n
|
||||||
|
services:
|
||||||
|
db-n8n:
|
||||||
|
container_name: db-n8n
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=n8n
|
||||||
|
- POSTGRES_PASSWORD=bigbearcasaos
|
||||||
|
- POSTGRES_USER=bigbearcasaos
|
||||||
|
hostname: db-n8n
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
- CMD-SHELL
|
||||||
|
- pg_isready -h localhost -U bigbearcasaos -d n8n
|
||||||
|
timeout: 5s
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
|
image: postgres:18.1
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\n8n\pgdata:/var/lib/postgresql
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
n8n:
|
||||||
|
container_name: n8n
|
||||||
|
depends_on:
|
||||||
|
db-n8n:
|
||||||
|
condition: service_healthy
|
||||||
|
required: true
|
||||||
|
image: n8nio/n8n:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 5678:5678
|
||||||
|
environment:
|
||||||
|
- DB_POSTGRESDB_DATABASE=n8n
|
||||||
|
- DB_POSTGRESDB_HOST=db-n8n
|
||||||
|
- DB_POSTGRESDB_PASSWORD=bigbearcasaos
|
||||||
|
- DB_POSTGRESDB_PORT=5432
|
||||||
|
- DB_POSTGRESDB_USER=bigbearcasaos
|
||||||
|
- DB_TYPE=postgresdb
|
||||||
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
||||||
|
- N8N_HOST=n8n.mohandl3g.ly
|
||||||
|
- N8N_PORT=5678
|
||||||
|
- N8N_PROTOCOL=https
|
||||||
|
- N8N_RUNNERS_ENABLED=true
|
||||||
|
- NODE_ENV=production
|
||||||
|
- WEBHOOK_URL=https://n8n.mohandl3g.ly/
|
||||||
|
- GENERIC_TIMEZONE=Africa/Tripoli
|
||||||
|
- TZ=Africa/Tripoli
|
||||||
|
volumes:
|
||||||
|
- C:\Data\AppData\n8n\.n8n:/home/node/.n8n
|
||||||
|
- C:\Data\AppData\n8n\files:/files
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: n8n_default
|
||||||
19
qBittorrent/docker-compose.yml
Normal file
19
qBittorrent/docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
qbittorrent:
|
||||||
|
image: lscr.io/linuxserver/qbittorrent:latest
|
||||||
|
container_name: qbittorrent
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
- WEBUI_PORT=8080
|
||||||
|
- TORRENTING_PORT=6881
|
||||||
|
volumes:
|
||||||
|
- C:\Docker\AppData\qbittorrent\appdata:/config
|
||||||
|
- C:\Users\MohandL3G\Downloads\Torrentz:/downloads #optional
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
- 6881:6881
|
||||||
|
- 6881:6881/udp
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user