summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-02-16 12:28:48 -0600
committerChristian Cleberg <[email protected]>2026-02-16 12:28:48 -0600
commitc32803f6dea806229878a2e44a29ce23c8299eca (patch)
treede6a3a37cc75e8e5eec507baa09b6d578f2e21e7
parent0f11584bff5fb485a929f60065c17a6b1639d0fd (diff)
downloaddotfiles-c32803f6dea806229878a2e44a29ce23c8299eca.tar.gz
dotfiles-c32803f6dea806229878a2e44a29ce23c8299eca.tar.bz2
dotfiles-c32803f6dea806229878a2e44a29ce23c8299eca.zip
add docker configs
-rw-r--r--linux/docker/docker/anonymousoverflow/compose.yml23
-rw-r--r--linux/docker/docker/biblioreads/compose.yml10
-rw-r--r--linux/docker/docker/binternet/compose.yml11
-rw-r--r--linux/docker/docker/breezewiki/compose.yml9
-rw-r--r--linux/docker/docker/breezewiki/config.ini3
-rwxr-xr-xlinux/docker/docker/cyberchef/compose.yml7
-rw-r--r--linux/docker/docker/ddns-updater/compose.yml34
-rw-r--r--linux/docker/docker/ddns-updater/data/updates.json6
-rw-r--r--linux/docker/docker/dockhand/compose.yml13
-rw-r--r--linux/docker/docker/flashpaper/docker-compose.yml29
-rw-r--r--linux/docker/docker/gothub/compose.yml24
-rw-r--r--linux/docker/docker/hat.sh/compose.yml5
-rw-r--r--linux/docker/docker/immich/.env22
-rw-r--r--linux/docker/docker/immich/compose.yml74
-rw-r--r--linux/docker/docker/libremdb/compose.yml38
-rw-r--r--linux/docker/docker/libretranslate/compose.yml30
-rw-r--r--linux/docker/docker/mazanoke/compose.yml7
-rw-r--r--linux/docker/docker/piped/docker-compose.yml46
-rw-r--r--linux/docker/docker/rimgo/compose.yml17
-rw-r--r--linux/docker/docker/rural-dict/docker-compose.yml12
-rw-r--r--linux/docker/docker/searxng/compose.yml48
-rw-r--r--linux/docker/docker/send/compose.yml28
-rw-r--r--linux/docker/docker/skunkyart/compose.yml12
-rw-r--r--linux/docker/docker/skunkyart/config.json17
-rw-r--r--linux/docker/docker/slash/compose.yml9
-rw-r--r--linux/docker/docker/small/.env3
-rw-r--r--linux/docker/docker/small/compose.yml15
-rw-r--r--linux/docker/docker/termix/compose.yml15
-rw-r--r--linux/docker/docker/transmission/compose.yml39
-rw-r--r--linux/docker/docker/transmission/config/settings.json82
30 files changed, 688 insertions, 0 deletions
diff --git a/linux/docker/docker/anonymousoverflow/compose.yml b/linux/docker/docker/anonymousoverflow/compose.yml
new file mode 100644
index 0000000..165e05f
--- /dev/null
+++ b/linux/docker/docker/anonymousoverflow/compose.yml
@@ -0,0 +1,23 @@
+services:
+ anonymousoverflow:
+ container_name: 'app'
+ image: 'ghcr.io/httpjamesm/anonymousoverflow:release'
+ environment:
+ - APP_URL=https://ao.cleberg.net
+ - JWT_SIGNING_SECRET=
+ - FLARESOLVER=http://flaresolverr:8191
+ - TIMEOUT=120
+ ports:
+ - '9380:8080'
+ restart: 'always'
+
+ flaresolverr:
+ container_name: anonymous_overflow_flaresolverr
+ image: ghcr.io/flaresolverr/flaresolverr:pr-1282
+ environment:
+ LOG_LEVEL: "info"
+ TZ: "America/Chicago"
+ LANG: "en_US"
+ security_opt:
+ - no-new-privileges:true
+ restart: unless-stopped
diff --git a/linux/docker/docker/biblioreads/compose.yml b/linux/docker/docker/biblioreads/compose.yml
new file mode 100644
index 0000000..d60085d
--- /dev/null
+++ b/linux/docker/docker/biblioreads/compose.yml
@@ -0,0 +1,10 @@
+services:
+ biblioreads:
+ container_name: biblioreads
+ image: docker.io/nesaku/biblioreads:latest
+ restart: unless-stopped
+ ports:
+ - "3030:3000"
+ environment:
+ - NEXT_PUBLIC_HOST_URL=http://br.cleberg.net
+ - NEXT_TELEMETRY_DISABLED=1
diff --git a/linux/docker/docker/binternet/compose.yml b/linux/docker/docker/binternet/compose.yml
new file mode 100644
index 0000000..c1a5fbb
--- /dev/null
+++ b/linux/docker/docker/binternet/compose.yml
@@ -0,0 +1,11 @@
+services:
+ binternet:
+ container_name: binternet
+ image: ghcr.io/ahwxorg/binternet:latest
+ cap_drop:
+ - ALL
+ security_opt:
+ - no-new-privileges:true
+ ports:
+ - '8086:8080'
+ restart: 'always'
diff --git a/linux/docker/docker/breezewiki/compose.yml b/linux/docker/docker/breezewiki/compose.yml
new file mode 100644
index 0000000..d363dfc
--- /dev/null
+++ b/linux/docker/docker/breezewiki/compose.yml
@@ -0,0 +1,9 @@
+services:
+ breezewiki:
+ container_name: breezewiki
+ image: quay.io/pussthecatorg/breezewiki:latest
+ restart: unless-stopped
+ ports:
+ - "127.0.0.1:10416:10416"
+ volumes:
+ - "./config.ini:/app/config.ini"
diff --git a/linux/docker/docker/breezewiki/config.ini b/linux/docker/docker/breezewiki/config.ini
new file mode 100644
index 0000000..ce46cd4
--- /dev/null
+++ b/linux/docker/docker/breezewiki/config.ini
@@ -0,0 +1,3 @@
+canonical_origin = bw.cleberg.net
+debug = false
+port = 10416
diff --git a/linux/docker/docker/cyberchef/compose.yml b/linux/docker/docker/cyberchef/compose.yml
new file mode 100755
index 0000000..f8b2caf
--- /dev/null
+++ b/linux/docker/docker/cyberchef/compose.yml
@@ -0,0 +1,7 @@
+services:
+ cyberchef:
+ image: mpepping/cyberchef
+ container_name: cyberchef
+ restart: unless-stopped
+ ports:
+ - "0.0.0.0:8111:8000"
diff --git a/linux/docker/docker/ddns-updater/compose.yml b/linux/docker/docker/ddns-updater/compose.yml
new file mode 100644
index 0000000..9cfb9f1
--- /dev/null
+++ b/linux/docker/docker/ddns-updater/compose.yml
@@ -0,0 +1,34 @@
+services:
+ ddns-updater:
+ image: qmcgaw/ddns-updater
+ container_name: ddns-updater
+ network_mode: bridge
+ ports:
+ - 8097:8000/tcp
+ volumes:
+ - ./data:/updater/data
+ environment:
+ - CONFIG=
+ - PERIOD=5m
+ - UPDATE_COOLDOWN_PERIOD=5m
+ - PUBLICIP_FETCHERS=all
+ - PUBLICIP_HTTP_PROVIDERS=all
+ - PUBLICIPV4_HTTP_PROVIDERS=all
+ - PUBLICIPV6_HTTP_PROVIDERS=all
+ - PUBLICIP_DNS_PROVIDERS=all
+ - PUBLICIP_DNS_TIMEOUT=3s
+ - HTTP_TIMEOUT=10s
+
+ # Web UI
+ - LISTENING_ADDRESS=:8000
+ - ROOT_URL=/
+
+ # Backup
+ - BACKUP_PERIOD=0 # 0 to disable
+ - BACKUP_DIRECTORY=/updater/data
+
+ # Other
+ - LOG_LEVEL=info
+ - LOG_CALLER=hidden
+ - SHOUTRRR_ADDRESSES=
+ restart: always
diff --git a/linux/docker/docker/ddns-updater/data/updates.json b/linux/docker/docker/ddns-updater/data/updates.json
new file mode 100644
index 0000000..9cd13e6
--- /dev/null
+++ b/linux/docker/docker/ddns-updater/data/updates.json
@@ -0,0 +1,6 @@
+{
+ "settings": [
+ {
+ }
+ ]
+}
diff --git a/linux/docker/docker/dockhand/compose.yml b/linux/docker/docker/dockhand/compose.yml
new file mode 100644
index 0000000..b69b139
--- /dev/null
+++ b/linux/docker/docker/dockhand/compose.yml
@@ -0,0 +1,13 @@
+services:
+ dockhand:
+ image: fnsys/dockhand:latest
+ container_name: dockhand
+ restart: unless-stopped
+ ports:
+ - 3777:3000
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - dockhand_data:/app/data
+
+volumes:
+ dockhand_data:
diff --git a/linux/docker/docker/flashpaper/docker-compose.yml b/linux/docker/docker/flashpaper/docker-compose.yml
new file mode 100644
index 0000000..4a2afcd
--- /dev/null
+++ b/linux/docker/docker/flashpaper/docker-compose.yml
@@ -0,0 +1,29 @@
+services:
+ flashpaper:
+ image: ghcr.io/andrewpaglusch/flashpaper:v2
+ container_name: flashpaper
+ restart: always
+ volumes:
+ - './data:/var/www/html/data'
+ ports:
+ - '8084:80'
+ environment:
+ SITE_TITLE: "FlashPaper :: Self-Destructing Message"
+ RETURN_FULL_URL: "true"
+ BASE_URL: "https://paste.cleberg.net"
+ MAX_SECRET_LENGTH: "3000"
+ ANNOUNCEMENT: ""
+ MESSAGES_ERROR_SECRET_TOO_LONG: "Input length too long"
+ MESSAGES_SUBMIT_SECRET_HEADER: "Create A Self-Destructing Message"
+ MESSAGES_SUBMIT_SECRET_SUBHEADER: ""
+ MESSAGES_SUBMIT_SECRET_BUTTON: "Encrypt Message"
+ MESSAGES_VIEW_CODE_HEADER: "Self-Destructing URL"
+ MESSAGES_VIEW_CODE_SUBHEADER: "Share this URL via email, chat, or another messaging service. It will self-destruct after being viewed once."
+ MESSAGES_CONFIRM_VIEW_SECRET_HEADER: "View this secret?"
+ MESSAGES_CONFIRM_VIEW_SECRET_BUTTON: "View Secret"
+ MESSAGES_VIEW_SECRET_HEADER: "Self-Destructing Message"
+ MESSAGES_VIEW_SECRET_SUBHEADER: "This message has been destroyed"
+ PRUNE_ENABLED: "true"
+ PRUNE_MIN_DAYS: 365
+ PRUNE_MAX_DAYS: 730
+
diff --git a/linux/docker/docker/gothub/compose.yml b/linux/docker/docker/gothub/compose.yml
new file mode 100644
index 0000000..ee99e9e
--- /dev/null
+++ b/linux/docker/docker/gothub/compose.yml
@@ -0,0 +1,24 @@
+services:
+ gothub:
+ image: codeberg.org/gothub/gothub:latest # Master branch
+ # image: codeberg.org/gothub/gothub:dev # Dev branch
+ restart: unless-stopped
+ ports:
+ - "3039:3000"
+ environment:
+ - DOCKER=true
+ - GOTHUB_SETUP_COMPLETE=false
+ - GOTHUB_PROXYING_ENABLED=true
+ - GOTHUB_IP_LOGGED=false
+ - GOTHUB_REQUEST_URL_LOGGED=false
+ - GOTHUB_USER_AGENT_LOGGED=false
+ - GOTHUB_DIAGNOSTIC_INFO_LOGGED=false
+ - GOTHUB_INSTANCE_PRIVACY_POLICY=
+ - GOTHUB_INSTANCE_COUNTRY=USA
+ - GOTHUB_INSTANCE_PROVIDER=
+ - GOTHUB_INSTANCE_CLOUDFLARE=false
+ healthcheck:
+ test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/version || exit 1
+ interval: 30s
+ timeout: 5s
+ retries: 2
diff --git a/linux/docker/docker/hat.sh/compose.yml b/linux/docker/docker/hat.sh/compose.yml
new file mode 100644
index 0000000..ac2d04e
--- /dev/null
+++ b/linux/docker/docker/hat.sh/compose.yml
@@ -0,0 +1,5 @@
+services:
+ web:
+ image: shdv/hat.sh:latest
+ ports:
+ - 3991:80
diff --git a/linux/docker/docker/immich/.env b/linux/docker/docker/immich/.env
new file mode 100644
index 0000000..bffe740
--- /dev/null
+++ b/linux/docker/docker/immich/.env
@@ -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=/tank/media/photos
+
+# The location where your database files are stored. Network shares are not supported for the database
+DB_DATA_LOCATION=./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=America/Chicago
+
+# The Immich version to use. You can pin this to a specific version like "v2.1.0"
+IMMICH_VERSION=v2
+
+# 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=
+
+# The values below this line do not need to be changed
+###################################################################################
+DB_USERNAME=postgres
+DB_DATABASE_NAME=immich
diff --git a/linux/docker/docker/immich/compose.yml b/linux/docker/docker/immich/compose.yml
new file mode 100644
index 0000000..f5dfb12
--- /dev/null
+++ b/linux/docker/docker/immich/compose.yml
@@ -0,0 +1,74 @@
+#
+# 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: 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
+
+ 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}
+ # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
+ # file: hwaccel.ml.yml
+ # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
+ volumes:
+ - 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
+
+volumes:
+ model-cache:
diff --git a/linux/docker/docker/libremdb/compose.yml b/linux/docker/docker/libremdb/compose.yml
new file mode 100644
index 0000000..bfecda4
--- /dev/null
+++ b/linux/docker/docker/libremdb/compose.yml
@@ -0,0 +1,38 @@
+services:
+ libremdb:
+ container_name: libremdb
+ image: ghcr.io/zyachel/libremdb:latest
+ ports:
+ - "3004:3000"
+ env_file: .env
+ depends_on:
+ - libremdb-redis
+ restart: always
+ user: 65534:65534 # equivalent to the nobody user
+ read_only: true
+ tmpfs:
+ - /opt/app/.next/cache/:size=10M,mode=0770,uid=65534,gid=65534,noexec,nosuid,nodev
+ security_opt:
+ - no-new-privileges:true
+ cap_drop:
+ - ALL
+ networks:
+ - libremdb
+
+ libremdb-redis:
+ container_name: libremdb_redis
+ image: redis
+ restart: always
+ user: nobody
+ read_only: true
+ security_opt:
+ - no-new-privileges:true
+ tmpfs:
+ - /data:size=10M,mode=0770,uid=65534,gid=65534,noexec,nosuid,nodev
+ cap_drop:
+ - ALL
+ networks:
+ - libremdb
+
+networks:
+ libremdb:
diff --git a/linux/docker/docker/libretranslate/compose.yml b/linux/docker/docker/libretranslate/compose.yml
new file mode 100644
index 0000000..6832ad2
--- /dev/null
+++ b/linux/docker/docker/libretranslate/compose.yml
@@ -0,0 +1,30 @@
+services:
+ libretranslate:
+ container_name: libretranslate
+ build:
+ context: .
+ dockerfile: ./docker/Dockerfile
+ restart: unless-stopped
+ ports:
+ - "5000:5000"
+ ## Uncomment this for logging in docker compose logs
+ tty: true
+ #healthcheck:
+ #test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
+ ## Uncomment above command and define your args if necessary
+ # command: --ssl --ga-id MY-GA-ID --req-limit 100 --char-limit 500
+ ## Uncomment this section and the libretranslate_api_keys volume if you want to backup your API keys
+ # environment:
+ # - LT_API_KEYS=true
+ # - LT_API_KEYS_DB_PATH=/app/db/api_keys.db # Same result as `db/api_keys.db` or `./db/api_keys.db`
+ ## Uncomment these vars and libretranslate_models volume to optimize loading time.
+ # - LT_UPDATE_MODELS=true
+ # - LT_LOAD_ONLY=en,fr
+ volumes:
+ # - libretranslate_api_keys:/app/db
+ # Keep the models in a docker volume, to avoid re-downloading on startup
+ - libretranslate_models:/home/libretranslate/.local:rw
+
+volumes:
+# libretranslate_api_keys:
+ libretranslate_models:
diff --git a/linux/docker/docker/mazanoke/compose.yml b/linux/docker/docker/mazanoke/compose.yml
new file mode 100644
index 0000000..e00344d
--- /dev/null
+++ b/linux/docker/docker/mazanoke/compose.yml
@@ -0,0 +1,7 @@
+services:
+ mazanoke:
+ container_name: mazanoke
+ image: ghcr.io/civilblur/mazanoke:latest
+ ports:
+ - "3474:80"
+ restart: 'always'
diff --git a/linux/docker/docker/piped/docker-compose.yml b/linux/docker/docker/piped/docker-compose.yml
new file mode 100644
index 0000000..ac6554f
--- /dev/null
+++ b/linux/docker/docker/piped/docker-compose.yml
@@ -0,0 +1,46 @@
+services:
+ frontend:
+ image: 1337kavin/piped-frontend:latest
+ restart: unless-stopped
+ depends_on:
+ - piped
+ environment:
+ BACKEND_HOSTNAME: pipedapi.cleberg.net
+ HTTP_MODE: https
+ ports:
+ - "8077:80"
+ container_name: piped-frontend
+
+ piped:
+ image: 1337kavin/piped:latest
+ restart: unless-stopped
+ volumes:
+ - ./config/config.properties:/app/config.properties:ro
+ depends_on:
+ - postgres
+ ports:
+ - "8078:8080"
+ container_name: piped-backend
+
+ proxy:
+ image: 1337kavin/piped-proxy:latest
+ restart: unless-stopped
+ ports:
+ - "8079:8080"
+ container_name: piped-proxy
+
+ bg-helper:
+ image: 1337kavin/bg-helper-server:latest
+ restart: unless-stopped
+ container_name: piped-bg-helper
+
+ postgres:
+ image: pgautoupgrade/pgautoupgrade:16-alpine
+ restart: unless-stopped
+ volumes:
+ - ./data/db:/var/lib/postgresql/data
+ environment:
+ - POSTGRES_DB=piped
+ - POSTGRES_USER=piped
+ - POSTGRES_PASSWORD=changeme
+ container_name: piped-postgres
diff --git a/linux/docker/docker/rimgo/compose.yml b/linux/docker/docker/rimgo/compose.yml
new file mode 100644
index 0000000..e895b95
--- /dev/null
+++ b/linux/docker/docker/rimgo/compose.yml
@@ -0,0 +1,17 @@
+version: '3'
+
+services:
+ rimgo:
+ image: codeberg.org/rimgo/rimgo # Official image
+ #image: quay.io/pussthecatorg/rimgo # Unofficial image
+ #build: . # Uncomment to build from source
+ ports:
+ - 3869:3000
+ restart: unless-stopped
+ user: 65534:65534 # equivalent to `nobody`
+ read_only: true
+ security_opt:
+ - no-new-privileges
+ cap_drop:
+ - ALL
+ env_file: .env
diff --git a/linux/docker/docker/rural-dict/docker-compose.yml b/linux/docker/docker/rural-dict/docker-compose.yml
new file mode 100644
index 0000000..b8f1951
--- /dev/null
+++ b/linux/docker/docker/rural-dict/docker-compose.yml
@@ -0,0 +1,12 @@
+version: "3"
+services:
+ rural-dict:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ restart: unless-stopped
+ ports:
+ - 2944:2944
+ environment:
+ - RD_PORT=2944
+ - RD_BIND=0.0.0.0
diff --git a/linux/docker/docker/searxng/compose.yml b/linux/docker/docker/searxng/compose.yml
new file mode 100644
index 0000000..b5404d7
--- /dev/null
+++ b/linux/docker/docker/searxng/compose.yml
@@ -0,0 +1,48 @@
+services:
+
+ redis:
+ container_name: searxng_redis
+ image: "redis:alpine"
+ restart: unless-stopped
+ command: redis-server --save "" --appendonly "no"
+ networks:
+ - searxng
+ tmpfs:
+ - /var/lib/redis
+ cap_drop:
+ - ALL
+ cap_add:
+ - SETGID
+ - SETUID
+ - DAC_OVERRIDE
+
+ searxng:
+ container_name: searxng
+ image: searxng/searxng:latest
+ restart: unless-stopped
+ networks:
+ - searxng
+ ports:
+ - "9191:8080"
+ volumes:
+ - ./searxng:/etc/searxng:rw
+# - ./themes:/usr/local/searxng/searx/static/themes/
+ environment:
+ - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
+ cap_drop:
+ - ALL
+ cap_add:
+ - CHOWN
+ - SETGID
+ - SETUID
+ - DAC_OVERRIDE
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "1m"
+ max-file: "1"
+
+networks:
+ searxng:
+ ipam:
+ driver: default
diff --git a/linux/docker/docker/send/compose.yml b/linux/docker/docker/send/compose.yml
new file mode 100644
index 0000000..281b5e6
--- /dev/null
+++ b/linux/docker/docker/send/compose.yml
@@ -0,0 +1,28 @@
+services:
+ send:
+ image: '${DOCKER_SEND_IMAGE}'
+ restart: always
+ ports:
+ - '1443:1234'
+ volumes:
+ - ./uploads:/uploads
+ environment:
+ - VIRTUAL_HOST=${HOST}
+ - VIRTUAL_PORT=1234
+ - DHPARAM_GENERATION=false
+ - LETSENCRYPT_HOST
+ - LETSENCRYPT_EMAIL
+ - NODE_ENV=production
+ - BASE_URL=${SEND_BASE_URL}
+ - PORT=1234
+ - REDIS_HOST=redis
+ - FILE_DIR=/uploads
+
+ redis:
+ image: 'redis:alpine'
+ restart: always
+ volumes:
+ - send-redis:/data
+
+volumes:
+ send-redis:
diff --git a/linux/docker/docker/skunkyart/compose.yml b/linux/docker/docker/skunkyart/compose.yml
new file mode 100644
index 0000000..5eead70
--- /dev/null
+++ b/linux/docker/docker/skunkyart/compose.yml
@@ -0,0 +1,12 @@
+services:
+ skunkyart:
+ container_name: skunkyart
+ restart: unless-stopped
+ build: .
+ ports:
+ - "127.0.0.1:3003:3003"
+ security_opt:
+ - no-new-privileges:true
+ volumes:
+ - ./config.json:/config.json:ro
+ - ./cache:/cache # Ensure cache folder has a 10000:10000 ownership.
diff --git a/linux/docker/docker/skunkyart/config.json b/linux/docker/docker/skunkyart/config.json
new file mode 100644
index 0000000..b3e7671
--- /dev/null
+++ b/linux/docker/docker/skunkyart/config.json
@@ -0,0 +1,17 @@
+{
+ "listen": "0.0.0.0:3003",
+ "uri": "/",
+ "cache": {
+ "enabled": false,
+ "path": "cache",
+ "lifetime": null,
+ "max-size": 200,
+ "memcache": false,
+ "update-interval": 5
+ },
+ "static-path": "static",
+ "download-proxy": "http://127.0.0.1:8080",
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
+ "proxy": false,
+ "nsfw": true
+}
diff --git a/linux/docker/docker/slash/compose.yml b/linux/docker/docker/slash/compose.yml
new file mode 100644
index 0000000..2332b57
--- /dev/null
+++ b/linux/docker/docker/slash/compose.yml
@@ -0,0 +1,9 @@
+services:
+ slash:
+ image: yourselfhosted/slash:latest
+ container_name: slash
+ ports:
+ - 5231:5231
+ volumes:
+ - ./slash:/var/opt/slash
+ restart: unless-stopped
diff --git a/linux/docker/docker/small/.env b/linux/docker/docker/small/.env
new file mode 100644
index 0000000..0cfbf09
--- /dev/null
+++ b/linux/docker/docker/small/.env
@@ -0,0 +1,3 @@
+PORT=8002
+UWSGI_PROCESSES=4
+UWSGI_THREADS=4
diff --git a/linux/docker/docker/small/compose.yml b/linux/docker/docker/small/compose.yml
new file mode 100644
index 0000000..16d53bc
--- /dev/null
+++ b/linux/docker/docker/small/compose.yml
@@ -0,0 +1,15 @@
+services:
+ small:
+ container_name: small
+ restart: unless-stopped
+ build: .
+ ports: [127.0.0.1:8002:8002]
+ env_file: .env
+ security_opt: [no-new-privileges:true]
+ cap_drop: [ALL]
+ read_only: true
+ deploy:
+ resources:
+ limits:
+ cpus: '0.5'
+ memory: 300M
diff --git a/linux/docker/docker/termix/compose.yml b/linux/docker/docker/termix/compose.yml
new file mode 100644
index 0000000..54bd562
--- /dev/null
+++ b/linux/docker/docker/termix/compose.yml
@@ -0,0 +1,15 @@
+services:
+ termix:
+ image: ghcr.io/lukegus/termix:latest
+ container_name: termix
+ restart: unless-stopped
+ ports:
+ - "8169:8080"
+ volumes:
+ - termix-data:/app/data
+ environment:
+ PORT: "8080"
+
+volumes:
+ termix-data:
+ driver: local
diff --git a/linux/docker/docker/transmission/compose.yml b/linux/docker/docker/transmission/compose.yml
new file mode 100644
index 0000000..b033c54
--- /dev/null
+++ b/linux/docker/docker/transmission/compose.yml
@@ -0,0 +1,39 @@
+services:
+ wireguard:
+ image: lscr.io/linuxserver/wireguard:latest
+ restart: always
+ cap_add:
+ - NET_ADMIN
+ - SYS_MODULE
+ sysctls:
+ - net.ipv4.conf.all.src_valid_mark=1
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - SERVERPORT=51820
+ # Change this to your local CIDR
+ - HOME_CIDR=192.168.0.0/24
+ volumes:
+ - ./wg.conf:/config/wg_confs/wg0.conf
+ - /lib/modules:/lib/modules
+ ports:
+ # We open the transmission web UI port here as we're going to use this
+ # containers network for that container.
+ - 51820:51820/udp
+ - 51824:51824/udp
+ - 9091:9091
+ transmission:
+ image: linuxserver/transmission:latest
+ restart: always
+ network_mode: "service:wireguard"
+ depends_on:
+ - wireguard
+ environment:
+ PUID: 1000
+ PGID: 1000
+ # Change this to host(s) you want to access from
+ # WHITELIST: "*.*.*.*"
+ volumes:
+ - ./config:/config
+ - /tank/media/_downloads:/downloads
+ - /tank/media/_watch:/watch
diff --git a/linux/docker/docker/transmission/config/settings.json b/linux/docker/docker/transmission/config/settings.json
new file mode 100644
index 0000000..ecd02b8
--- /dev/null
+++ b/linux/docker/docker/transmission/config/settings.json
@@ -0,0 +1,82 @@
+{
+ "alt-speed-down": 10000,
+ "alt-speed-enabled": false,
+ "alt-speed-time-begin": 540,
+ "alt-speed-time-day": 127,
+ "alt-speed-time-enabled": false,
+ "alt-speed-time-end": 1260,
+ "alt-speed-up": 10000,
+ "announce-ip": "",
+ "announce-ip-enabled": false,
+ "anti-brute-force-enabled": false,
+ "anti-brute-force-threshold": 100,
+ "bind-address-ipv4": "0.0.0.0",
+ "bind-address-ipv6": "::",
+ "blocklist-enabled": false,
+ "blocklist-url": "http://www.example.com/blocklist",
+ "cache-size-mb": 4,
+ "default-trackers": "udp://tracker.opentrackr.org:1337/announce\n\nhttp://tracker.opentrackr.org:1337/announce\n\nudp://open.demonii.com:1337/announce\n\nudp://open.stealth.si:80/announce\n\nudp://tracker.torrent.eu.org:451/announce\n\nudp://exodus.desync.com:6969/announce\n\nudp://tracker.ololosh.space:6969/announce\n\nhttp://www.genesis-sp.org:2710/announce\n\nhttp://servandroidkino.ru:80/announce\n\nudp://wepzone.net:6969/announce\n\nudp://ttk2.nbaonlineservice.com:6969/announce\n\nudp://tracker2.dler.org:80/announce\n\nudp://tracker1.myporn.club:9337/announce\n\nudp://tracker.tryhackx.org:6969/announce\n\nudp://tracker.tiny-vps.com:6969/announce\n\nudp://tracker.theoks.net:6969/announce\n\nudp://tracker.srv00.com:6969/announce\n\nudp://tracker.qu.ax:6969/announce\n\nudp://tracker.gmi.gd:6969/announce\n\nudp://tracker.gigantino.net:6969/announce\n\nudp://tracker.fnix.net:6969/announce\n\nudp://tracker.filemail.com:6969/announce\n\nudp://tracker.dler.org:6969/announce\n\nudp://tracker.darkness.services:6969/announce\n\nudp://tracker.0x7c0.com:6969/announce\n\nudp://tracker-udp.gbitt.info:80/announce\n\nudp://tr4ck3r.duckdns.org:6969/announce\n\nudp://t.overflow.biz:6969/announce\n\nudp://retracker01-msk-virt.corbina.net:80/announce\n\nudp://retracker.lanta.me:2710/announce\n\nudp://p4p.arenabg.com:1337/announce\n\nudp://p2p.publictracker.xyz:6969/announce\n\nudp://opentracker.io:6969/announce\n\nudp://open.free-tracker.ga:6969/announce\n\nudp://martin-gebhardt.eu:25/announce\n\nudp://leet-tracker.moe:1337/announce\n\nudp://ismaarino.com:1234/announce\n\nudp://isk.richardsw.club:6969/announce\n\nudp://evan.im:6969/announce\n\nudp://d40969.acod.regrucolo.ru:6969/announce\n\nudp://bt.ktrackers.com:6666/announce\n\nudp://bittorrent-tracker.e-n-c-r-y-p-t.net:1337/announce\n\nudp://bandito.byterunner.io:6969/announce\n\nhttps://tracker.yemekyedim.com:443/announce\n\nhttps://tracker.bt4g.com:443/announce\n\nhttp://www.torrentsnipe.info:2701/announce\n\nhttp://wepzone.net:6969/announce\n\nhttp://tracker810.xyz:11450/announce\n\nhttp://tracker2.dler.org:80/announce\n\nhttp://tracker.xiaoduola.xyz:6969/announce\n\nhttp://tracker.waaa.moe:6969/announce\n\nhttp://tracker.vanitycore.co:6969/announce\n\nhttp://tracker.sbsub.com:2710/announce\n\nhttp://tracker.renfei.net:8080/announce\n\nhttp://tracker.qu.ax:6969/announce\n\nhttp://tracker.mywaifu.best:6969/announce\n\nhttp://tracker.moxing.party:6969/announce\n\nhttp://tracker.lintk.me:2710/announce\n\nhttp://tracker.ipv6tracker.org:80/announce\n\nhttp://tracker.edkj.club:6969/announce\n\nhttp://tracker.dmcomic.org:2710/announce\n\nhttp://tracker.dler.org:6969/announce\n\nhttp://tracker.dler.com:6969/announce\n\nhttp://tracker.darkness.services:6969/announce\n\nhttp://tracker.corpscorp.online:80/announce\n\nhttp://tracker.bz:80/announce\n\nhttp://tracker.bt4g.com:2095/announce\n\nhttp://tracker.bt-hash.com:80/announce\n\nhttp://tracker.bittor.pw:1337/announce\n\nhttp://taciturn-shadow.spb.ru:6969/announce\n\nhttp://t.overflow.biz:6969/announce\n\nhttp://t.jaekr.sh:6969/announce\n\nhttp://shubt.net:2710/announce\n\nhttp://share.hkg-fansub.info:80/announce.php\n\nhttp://seeders-paradise.org:80/announce\n\nhttp://retracker.spark-rostov.ru:80/announce\n\nhttp://public.tracker.vraphim.com:6969/announce\n\nhttp://p4p.arenabg.com:1337/announce\n\nhttp://open.trackerlist.xyz:80/announce\n\nhttp://open.acgtracker.com:1096/announce\n\nhttp://home.yxgz.club:6969/announce\n\nhttp://highteahop.top:6960/announce\n\nhttp://finbytes.org:80/announce.php\n\nhttp://ch3oh.ru:6969/announce\n\nhttp://buny.uk:6969/announce\n\nhttp://bt1.xxxxbt.cc:6969/announce\n\nhttp://bt.poletracker.org:2710/announce\n\nhttp://bittorrent-tracker.e-n-c-r-y-p-t.net:1337/announce\n\nhttp://1337.abcvg.info:80/announce\n\nhttp://0d.kebhana.mx:443/announce\n\nhttp://0123456789nonexistent.com:80/announce\n\nudp://utracker.ghostchu-services.top:6969/announce\n\nudp://tracker.ddunlimited.net:6969/announce\n\nudp://ipv4announce.sktorrent.eu:6969/announce\n\nudp://concen.org:6969/announce\n\nhttps://tracker.zhuqiy.top:443/announce\n\nhttps://tracker.linvk.com:443/announce\n\nhttps://tracker.lilithraws.org:443/announce\n\nhttps://tracker.leechshield.link:443/announce\n\nhttps://tracker.ghostchu-services.top:443/announce\n\nhttps://tracker.gcrenwp.top:443/announce\n\nhttps://tr.zukizuki.org:443/announce\n\nhttps://tr.nyacat.pw:443/announce\n\nhttps://sparkle.ghostchu-services.top:443/announce\n\nhttp://tracker1.itzmx.com:8080/announce\n\nhttp://tracker.zhuqiy.top:80/announce\n\nhttp://tracker.ghostchu-services.top:80/announce\n\nhttp://tracker.23794.top:6969/announce\n\nhttp://tr.nyacat.pw:80/announce",
+ "dht-enabled": true,
+ "download-dir": "/downloads/complete",
+ "download-queue-enabled": true,
+ "download-queue-size": 10,
+ "encryption": 1,
+ "idle-seeding-limit": 30,
+ "idle-seeding-limit-enabled": false,
+ "incomplete-dir": "/downloads/incomplete",
+ "incomplete-dir-enabled": true,
+ "lpd-enabled": false,
+ "message-level": 2,
+ "peer-congestion-algorithm": "",
+ "peer-id-ttl-hours": 6,
+ "peer-limit-global": 200,
+ "peer-limit-per-torrent": 50,
+ "peer-port": 51824,
+ "peer-port-random-high": 65535,
+ "peer-port-random-low": 49152,
+ "peer-port-random-on-start": false,
+ "peer-socket-tos": "le",
+ "pex-enabled": true,
+ "port-forwarding-enabled": true,
+ "preallocation": 1,
+ "prefetch-enabled": true,
+ "queue-stalled-enabled": true,
+ "queue-stalled-minutes": 30,
+ "ratio-limit": 2,
+ "ratio-limit-enabled": false,
+ "rename-partial-files": true,
+ "rpc-authentication-required": false,
+ "rpc-bind-address": "0.0.0.0",
+ "rpc-enabled": true,
+ "rpc-host-whitelist": "",
+ "rpc-host-whitelist-enabled": false,
+ "rpc-password": "{338b57b6545aac87fe37a9571f2abe8b63102ce0TAWzO.u4",
+ "rpc-port": 9091,
+ "rpc-socket-mode": "0750",
+ "rpc-url": "/transmission/",
+ "rpc-username": "",
+ "rpc-whitelist": "",
+ "rpc-whitelist-enabled": false,
+ "scrape-paused-torrents-enabled": true,
+ "script-torrent-added-enabled": false,
+ "script-torrent-added-filename": "",
+ "script-torrent-done-enabled": false,
+ "script-torrent-done-filename": "",
+ "script-torrent-done-seeding-enabled": false,
+ "script-torrent-done-seeding-filename": "",
+ "seed-queue-enabled": false,
+ "seed-queue-size": 10,
+ "speed-limit-down": 92,
+ "speed-limit-down-enabled": true,
+ "speed-limit-up": 2500,
+ "speed-limit-up-enabled": false,
+ "start-added-torrents": true,
+ "tcp-enabled": true,
+ "torrent-added-verify-mode": "fast",
+ "trash-original-torrent-files": false,
+ "umask": "002",
+ "upload-slots-per-torrent": 14,
+ "utp-enabled": true,
+ "watch-dir": "/watch",
+ "watch-dir-enabled": true
+}