master
lunchbox 3 years ago
commit ad03822b71

@ -0,0 +1,3 @@
git clone https://github.com/dwaaan/HRConvert2-Docker
Edit config.php - make sure to atleast set the salts and the URL
docker-compose up -d

@ -0,0 +1,17 @@
version: "3"
services:
audiobookshelf:
container_name: abshelf
restart: unless-stopped
image: ghcr.io/advplyr/audiobookshelf:latest
environment:
- AUDIOBOOKSHELF_UID=99
- AUDIOBOOKSHELF_GID=100
ports:
- 13378:80
volumes:
- ./ab:/audiobooks
- ./pc:/podcasts
- ./config:/config
- ./metadata:/metadata

@ -0,0 +1 @@
Subproject commit 319e5a3e6cfe4e122e0548093c7b023a68374e62

@ -0,0 +1,36 @@
version: "3"
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=http://100.125.248.81:6875
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USER=bookstack
- DB_PASS=testingtesting
- DB_DATABASE=bookstackapp
volumes:
- ./config:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=roottesting
- TZ=America/Chicago
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=testingtesting
volumes:
- ./data:/config
restart: unless-stopped

@ -0,0 +1,12 @@
version: "3"
services:
cloudflare-ddns:
image: oznu/cloudflare-ddns:latest
container_name: ddns
restart: always
environment:
- API_KEY=
- ZONE=
- SUBDOMAIN=
- PROXIED=

@ -0,0 +1,16 @@
version: "3"
services:
dokuwiki:
image: lscr.io/linuxserver/dokuwiki:latest
restart: unless-stopped
container_name: dokuwiki
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ./config:/config
ports:
- 80:80
- 443:443 #optional

@ -0,0 +1,15 @@
version: "2"
services:
doublecommander:
image: linuxserver/doublecommander:version-36416294
container_name: doublecommander
restart: unless-stopped
environment:
- TZ=America/Chicago # Specify a timezone to use EG Europe/London.
- PUID=1000 # for UserID
- PGID=1000 # for GroupID
volumes:
- ~/:/data # Host data directories, mount as many as needed.
- ./config:/config # Users home directory in the container, stores program settings.
ports:
- 3000:3000/tcp # Double Commander desktop gui.

@ -0,0 +1,11 @@
version: "3"
services:
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9999:8080

@ -0,0 +1,19 @@
version: "3"
services:
duplicati:
image: lscr.io/linuxserver/duplicati:latest
container_name: duplicati
environment:
- PUID=1002
- PGID=1002
- TZ=America/Chicago
- CLI_ARGS= #optional
volumes:
- ./config:/config
- ./backups:/backups
- ~/:/source
- ~/:/backupd
ports:
- 8200:8200
restart: unless-stopped

@ -0,0 +1,25 @@
version: '3'
services:
eggdrop:
image: eggdrop:1.9
### If running for the first time without providing your own config, you
### probably want to set these variables
# environment:
# - SERVER=add.your.irc.server
# - NICK=LamestBot
### Make this match your listen setting in the config
ports:
- "3333:3333"
### Change this to the path with your config and user/channel files
volumes:
- ./data/:/home/eggdrop/eggdrop/data/
### If you want to add scripts, put them here. Don't mount to /scripts because
### it will overwrite the ones that are already used. Make sure you use
### 'source scripts2/foo.tcl' as the path in the config.
# -/changethispart/scripts:/home/eggdrop/eggdrop/scripts2
### Enter config name, if not eggdrop.conf
# command: LeafBlower.conf
stdin_open: true
tty: true
restart: unless-stopped

@ -0,0 +1,19 @@
version: "3"
services:
emulatorjs:
image: lscr.io/linuxserver/emulatorjs:latest
restart: unless-stopped
container_name: emulatorjs
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- SUBFOLDER=/ #optional
volumes:
- ./config:/config
- ./data:/data
ports:
- 3052:3000
- 8058:80
- 4001:4001 #optional

@ -0,0 +1 @@
https://hub.docker.com/r/charlocharlie/epicgames-freegames

@ -0,0 +1,18 @@
version: "3"
services:
fail2ban:
container_name: fail2ban
hostname: fail2ban
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TZ=America/Chicago
- F2B_DB_PURGE_AGE=14d
image: crazymax/fail2ban:latest
network_mode: host
restart: unless-stopped
volumes:
- ./fail2ban:/data
- ~/docker/npm/data/logs:/var/log/npm

@ -0,0 +1,15 @@
version: "3"
services:
filebrowser:
image: hurlenko/filebrowser
# user: "1002:1002"
container_name: filebrowser
restart: unless-stopped
ports:
- 9158:8080
volumes:
- ./data:/data
- ./config:/config
environment:
- FB_BASEURL=/filebrowser

@ -0,0 +1,17 @@
version: "3"
services:
gitea:
image: gitea/gitea:1.18.1
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: unless-stopped
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3090:3000"
- "222:22"

@ -0,0 +1,21 @@
version: "3"
services:
goaccess:
image: 'xavierh/goaccess-for-nginxproxymanager:latest'
container_name: goaccess
restart: always
ports:
- '7880:7880'
environment:
- TZ=America/Chicago
- SKIP_ARCHIVED_LOGS=False #optional
- DEBUG=False #optional
- BASIC_AUTH=False #optional
- BASIC_AUTH_USERNAME=user #optional
- BASIC_AUTH_PASSWORD=pass #optional
- EXCLUDE_IPS=127.0.0.1 #optional - comma delimited
- LOG_TYPE=NPM #optional - more information below
volumes:
- ~/docker/npm/data/logs:/opt/log
# - /path/to/host/custom:/opt/custom #optional, required if using log_type = CUSTOM

@ -0,0 +1,11 @@
version: "3"
services:
gotify:
image: gotify/server-arm64
ports:
- 8060:80
environment:
- GOTIFY_DEFAULTUSER_PASS=testtesting #user: admin
volumes:
- "./gotify_data:/app/data"

@ -0,0 +1,4 @@
git clone "https://github.com/boschkundendienst/guacamole-docker-compose.git"
cd guacamole-docker-compose
./prepare.sh
docker-compose up -d

@ -0,0 +1,12 @@
version: "3"
services:
homarr:
container_name: homarr
image: ghcr.io/ajnart/homarr:latest
restart: unless-stopped
volumes:
- ./configs:/app/data/configs
- ./icons:/app/public/icons
ports:
- '7575:7575'

@ -0,0 +1,11 @@
version: "3"
services:
homepage:
image: ghcr.io/benphelps/homepage:latest
container_name: homepage
restart: unless-stopped
ports:
- 3000:3000
volumes:
- ./config:/app/config # Make sure your local config directory exists

@ -0,0 +1,90 @@
version: "3.8"
services:
immich-server:
container_name: immich_server
image: altran1502/immich-server:release
entrypoint: [ "/bin/sh", "./start-server.sh" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
environment:
- NODE_ENV=production
depends_on:
- redis
- database
restart: always
immich-microservices:
container_name: immich_microservices
image: altran1502/immich-server:release
entrypoint: [ "/bin/sh", "./start-microservices.sh" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
environment:
- NODE_ENV=production
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: altran1502/immich-machine-learning:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- model-cache:/cache
env_file:
- .env
environment:
- NODE_ENV=production
restart: always
immich-web:
container_name: immich_web
image: altran1502/immich-web:release
entrypoint: [ "/bin/sh", "./entrypoint.sh" ]
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: redis:6.2
restart: always
database:
container_name: immich_postgres
image: postgres:14
env_file:
- .env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
immich-proxy:
container_name: immich_proxy
image: altran1502/immich-proxy:release
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL
ports:
- 2283:8080
logging:
driver: none
depends_on:
- immich-server
restart: always
volumes:
pgdata:
model-cache:

@ -0,0 +1,79 @@
###################################################################################
# Database
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich
# Optional Database settings:
# DB_PORT=5432
###################################################################################
# Redis
###################################################################################
REDIS_HOSTNAME=immich_redis
# Optional Redis settings:
# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_PASSWORD=
# REDIS_SOCKET=
###################################################################################
# Upload File Location
#
# This is the location where uploaded files are stored.
###################################################################################
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
###################################################################################
# Reverse Geocoding
#
# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM
####################################################################################
# DISABLE_REVERSE_GEOCODING=false
# REVERSE_GEOCODING_PRECISION=3
####################################################################################
# WEB - Optional
#
# Custom message on the login page, should be written in HTML form.
# For example:
# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
####################################################################################
PUBLIC_LOGIN_PAGE_MESSAGE=
####################################################################################
# Alternative Service Addresses - Optional
#
# This is an advanced feature for users who may be running their immich services on different hosts.
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
# Note: immich-microservices is bound to 3002, but no references are made
####################################################################################
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################
#IMMICH_API_URL_EXTERNAL=http://localhost:3001

@ -0,0 +1,9 @@
version: '3'
services:
iperf3:
container_name: iperf3
restart: unless-stopped
image: networkstatic/iperf3
ports:
- '5201:5201'

@ -0,0 +1,30 @@
version: '3'
services:
db:
image: postgres:15
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DATABASE}
app:
image: laurent22/joplin-server:latest
depends_on:
- db
ports:
- "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=${APP_BASE_URL}
- DB_CLIENT=pg
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=db

@ -0,0 +1,26 @@
# =============================================================================
# PRODUCTION CONFIG EXAMPLE
# -----------------------------------------------------------------------------
# By default it will use SQLite, but that's mostly to test and evaluate the
# server. So you'll want to specify db connection settings to use Postgres.
# =============================================================================
#
# APP_BASE_URL=https://example.com/joplin
# APP_PORT=22300
#
# DB_CLIENT=pg
# POSTGRES_PASSWORD=joplin
# POSTGRES_DATABASE=joplin
# POSTGRES_USER=joplin
# POSTGRES_PORT=5432
# POSTGRES_HOST=localhost
# =============================================================================
# DEV CONFIG EXAMPLE
# -----------------------------------------------------------------------------
# Example of local config, for development. In dev mode, you would usually use
# SQLite so database settings are not needed.
# =============================================================================
#
# APP_BASE_URL=http://localhost:22300
# APP_PORT=22300

@ -0,0 +1,12 @@
version: '3'
services:
kavita:
container_name: kavita
image: kizaing/kavita:latest
restart: unless-stopped
volumes:
- ./manga:/manga
- ./data:/kavita/config
ports:
- "5000:5000"

@ -0,0 +1,15 @@
version: "3"
services:
mariadb:
image: mariadb:10.6.4-focal
#image: mysql:8.0.27
restart: unless-stopped
command: '--default-authentication-plugin=mysql_native_password'
volumes:
- ./db_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_DATABASE=
- MYSQL_USER=
- MYSQL_PASSWORD=

@ -0,0 +1,19 @@
version: '3'
services:
meshcentral:
restart: unless-stopped
container_name: meshcentral
image: typhonragewind/meshcentral
ports:
- 8086:443 #MeshCentral will moan and try everything not to use port 80, but you can also use it if you so desire, just change the config.json according to your needs
environment:
- HOSTNAME= #your hostname
- REVERSE_PROXY= #set to your reverse proxy IP if you want to put meshcentral behind a reverse proxy
- REVERSE_PROXY_TLS_PORT=
- IFRAME=false #set to true if you wish to enable iframe support
- ALLOW_NEW_ACCOUNTS=false #set to false if you want disable self-service creation of new accounts besides the first (admin)
- WEBRTC=false #set to true to enable WebRTC - per documentation it is not officially released with meshcentral, but is solid enough to work with. Use with caution
volumes:
- ./data:/opt/meshcentral/meshcentral-data #config.json and other important files live here. A must for data persistence
- ./user_files:/opt/meshcentral/meshcentral-files #where file uploads for users live

@ -0,0 +1,17 @@
version: "3"
services:
minecraft:
image: "marctv/minecraft-papermc-server:latest"
restart: unless-stopped
container_name: "mcserver"
environment:
MEMORYSIZE: "1G"
PAPERMC_FLAGS: ""
volumes:
- "./mcserver:/data:rw"
ports:
- "25565:25565"
# The following allow `docker attach minecraft` to work
stdin_open: true
tty: true

@ -0,0 +1 @@
https://github.com/nimmis/docker-spigot

@ -0,0 +1,17 @@
version: "3"
services:
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
deploy:
resources:
limits:
memory: 1.5G
volumes:
- "~/minecraft_data:/data"

@ -0,0 +1,14 @@
version: '3'
services:
moviematch:
container_name: moviematch
restart: unless-stopped
environment:
- PLEX_URL=
- PLEX_TOKEN=
- LIBRARY_TYPE_FILTER=movie,show
- REQUIRE_PLEX_LOGIN=yes
ports:
- '8140:8000'
image: 'lukechannings/moviematch:latest'

@ -0,0 +1,21 @@
version: "3"
services:
netbootxyz:
image: lscr.io/linuxserver/netbootxyz:latest
restart: unless-stopped
container_name: netbootxyz
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MENU_VERSION=1.9.9 #optional
- PORT_RANGE=30000:30010 #optional
- SUBFOLDER=/ #optional
volumes:
- /path/to/config:/config
- /path/to/assets:/assets #optional
ports:
- 3000:3000
- 69:69/udp
- 8080:80 #optional

@ -0,0 +1,25 @@
version: "3"
networks:
outside:
driver: bridge
database:
driver: bridge
external: true
services:
nc:
image: nextcloud:apache
container_name: nextcloud
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PASSWORD=B33rb33r!
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
ports:
- 8104:80
restart: always
volumes:
- ./nc_data:/var/www/html
networks:
- database

@ -0,0 +1,17 @@
version: "3"
services:
npm:
container_name: npm
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

@ -0,0 +1,23 @@
version: "3"
services:
ntfy:
image: binwiederhier/ntfy
container_name: ntfy
restart: unless-stopped
command:
- serve
environment:
- TZ=CST # optional: set desired timezone
user: 1000:1000 # optional: replace with your own user/group or uid/gid
volumes:
- ./ntfy/cache:/var/cache/ntfy
- ./ntfy/data:/etc/ntfy
ports:
- 8018:80
healthcheck: # optional: remember to adapt the host:port to your environment
test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
interval: 60s
timeout: 10s
retries: 3
start_period: 40s

@ -0,0 +1,11 @@
version: "3"
services:
olivetin:
container_name: olivetin
restart: unless-stopped
image: jamesread/olivetin
volumes:
- ./olivetin:/config # replace host path or volume as needed
ports:
- "1337:1337"

@ -0,0 +1,78 @@
services:
redis:
image: redis:6.2
container_name: paperless-redis
restart: unless-stopped
volumes:
- ./redis:/data
db:
image: postgres:14
container_name: paperless-db
restart: unless-stopped
volumes:
- ./db:/var/lib/postgresql/data
environment:
POSTGRES_DB: $PGDB
POSTGRES_USER: $PGUSER
POSTGRES_PASSWORD: $PGPW
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperlessngx
restart: unless-stopped
depends_on:
- db
- redis
- gotenberg
- tika
ports:
- 8777:8000
volumes:
- ./app/data:/usr/src/paperless/data
- ./app/media:/usr/src/paperless/media
- ./app/export:/usr/src/paperless/export
- ./app/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://redis:6379
PAPERLESS_DBHOST: db
USERMAP_UID: $PUID
USERMAP_GID: $PGID
PAPERLESS_TIME_ZONE: $TZ
PAPERLESS_ADMIN_USER: $ADMINUSER
PAPERLESS_ADMIN_PASSWORD: $ADMINPW
PAPERLESS_OCR_LANGUAGE: deu+eng #change as necessary, read the documentation for more info
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 #don't change
PAPERLESS_TIKA_ENDPOINT: http://tika:9998 #don't change
networks:
- default
#uncomment the following line and change the network name as necessary to add the webserver to your reverse proxy network
#- proxy
gotenberg:
image: gotenberg/gotenberg:7.4
restart: unless-stopped
container_name: gotenberg
ports:
- 3000:3000 # change the port mapping if you need
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: ghcr.io/paperless-ngx/tika:latest
container_name: tika
ports:
- 9998:9998 # change the port mapping if you need
restart: unless-stopped
networks:
default:
name: paperless
ipam:
config:
- subnet: 172.xx.0.0/29 #change the subnet as necessary
#uncomment the following lines and change the network name as necessary to add your reverse proxy network
#proxy:
#external: true

@ -0,0 +1,9 @@
#environment https://academy.pointtosource.com/containers/paperless-scanning/
PUID=
PGID=
TZ=[Continent/City] #change as necessary, removing the `[]` brackets
PGDB=
PGUSER=
PGPW=
ADMINUSER=
ADMINPW=

@ -0,0 +1,18 @@
version: "3"
services:
paperless-ngx:
image: lscr.io/linuxserver/paperless-ngx:latest
container_name: paperless
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
# - REDIS_URL= #optional
- PAPERLESS_URL=
volumes:
- ./config:/config
- ./data:/data
ports:
- 8000:8000

@ -0,0 +1,12 @@
version: "3"
services:
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4:latest
restart: unless-stopped
environment:
- PGADMIN_DEFAULT_EMAIL=
- PGADMIN_DEFAULT_PASSWORD=
ports:
- "5050:80"

@ -0,0 +1,10 @@
version: '3'
services:
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1

@ -0,0 +1,19 @@
version: "3"
services:
pialert:
container_name: pialert
image: "jokobsk/pi.alert:latest"
network_mode: "host"
restart: unless-stopped
volumes:
- ./config:/home/pi/pialert/config
- ./db:/home/pi/pialert/db
# (optional) useful for debugging if you have issues setting up the container
- ./logs:/home/pi/pialert/front/log
- ./test:/home/pi/pialert/front/api/
environment:
- TZ=America/Chicago
- HOST_USER_ID=1000
- HOST_USER_GID=1000
- PORT=20211

@ -0,0 +1,17 @@
version: "3"
services:
pidgin:
image: lscr.io/linuxserver/pidgin:latest
restart: unless-stopped
container_name: pidgin
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ./pidgin_config:/config
ports:
- 3000:3000

@ -0,0 +1,13 @@
version: "3"
services:
portainer:
image: portainer/portainer-ce:alpine
container_name: portainer
restart: unless-stopped
command: -H unix:///var/run/docker.sock
ports:
- "9000:9000"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./portainer_data:/data"

@ -0,0 +1,14 @@
version: "3"
services:
postgres:
container_name: postgres
image: postgres:latest
restart: unless-stopped
environment:
- POSTGRES_USER=
- POSTGRES_PASSWORD=
- POSTGRES_DB= #optional (specify default database instead of $POSTGRES_DB)
ports:
- "5432:5432"

@ -0,0 +1,17 @@
version: "3"
services:
rclone_rclone:
image: rclone/rclone
container_name: rclone-ui
restart: unless-stopped
command: rcd --rc-web-gui --rc-addr :5572 --rc-user lunchbox --rc-pass testing
ports:
- "5572:5572"
volumes:
- ./config:/config/rclone
- ./logs:/logs
environment:
- PHP_TZ=America/Chicago
- PUID=1000
- PGID=1000

@ -0,0 +1,18 @@
version: "3"
services:
resilio-sync:
image: lscr.io/linuxserver/resilio-sync:latest
container_name: resilio-sync
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/config:/config
- /path/to/downloads:/downloads
- /path/to/data:/sync
ports:
- 8888:8888
- 55555:55555

@ -0,0 +1,35 @@
version: '3'
services:
mysql:
ports:
- 3306:3306
image: mysql:5.6
container_name: mysql
hostname: mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: semaphore_db
MYSQL_USER: semaphore_user
MYSQL_PASSWORD: StrongPassw0rd
semaphore:
ports:
- 3000:3000
image: ansiblesemaphore/semaphore:latest
container_name: semaphore
environment:
SEMAPHORE_DB_USER: semaphore_user
SEMAPHORE_DB_PASS: StrongPassw0rd
SEMAPHORE_DB_HOST: mysql
SEMAPHORE_DB_PORT: 3306
SEMAPHORE_DB: semaphore_db
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
SEMAPHORE_ADMIN_PASSWORD: AdminPassword
SEMAPHORE_ADMIN_NAME: admin
SEMAPHORE_ADMIN_EMAIL: admin@computingforgeeks.com
SEMAPHORE_ADMIN: admin
SEMAPHORE_ACCESS_KEY_ENCRYPTION: MflCLIUF5bn6Lgkuwy4BoAdIFhoZ4Ief2oocXmuZSjs=
depends_on:
- mysql

@ -0,0 +1,58 @@
services:
# uncomment this section and comment out the mysql section to use postgres instead of mysql
#postgres:
#restart: unless-stopped
#ports:
#- 5432:5432
#image: postgres:14
#hostname: postgres
#volumes:
# - semaphore-postgres:/var/lib/postgresql/data
#environment:
# POSTGRES_USER: semaphore
# POSTGRES_PASSWORD: semaphore
# POSTGRES_DB: semaphore
# if you wish to use postgres, comment the mysql service section below
mysql:
restart: unless-stopped
ports:
- 3306:3306
image: mysql:8.0
hostname: mysql
volumes:
- semaphore-mysql:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: semaphore
MYSQL_USER: semaphore
MYSQL_PASSWORD: semaphore
semaphore:
restart: unless-stopped
ports:
- 3000:3000
image: semaphoreui/semaphore:latest
environment:
SEMAPHORE_DB_USER: semaphore
SEMAPHORE_DB_PASS: semaphore
SEMAPHORE_DB_HOST: mysql # for postgres, change to: postgres
SEMAPHORE_DB_PORT: 3306 # change to 5432 for postgres
SEMAPHORE_DB_DIALECT: mysql
SEMAPHORE_DB: semaphore
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
SEMAPHORE_ADMIN_PASSWORD: changeme
SEMAPHORE_ADMIN_NAME: admin
SEMAPHORE_ADMIN_EMAIL: admin@localhost
SEMAPHORE_ADMIN: admin
SEMAPHORE_ACCESS_KEY_ENCRYPTION: gs72mPntFATGJs9qK0pQ0rKtfidlexiMjYCH9gWKhTU=
SEMAPHORE_LDAP_ACTIVATED: 'no' # if you wish to use ldap, set to: 'yes'
SEMAPHORE_LDAP_HOST: dc01.local.example.com
SEMAPHORE_LDAP_PORT: '636'
SEMAPHORE_LDAP_NEEDTLS: 'yes'
SEMAPHORE_LDAP_DN_BIND: 'uid=bind_user,cn=users,cn=accounts,dc=local,dc=shiftsystems,dc=net'
SEMAPHORE_LDAP_PASSWORD: 'ldap_bind_account_password'
SEMAPHORE_LDAP_DN_SEARCH: 'dc=local,dc=example,dc=com'
SEMAPHORE_LDAP_SEARCH_FILTER: "(\u0026(uid=%s)(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=local,dc=example,dc=com))"
depends_on:
- mysql # for postgres, change to: postgres
volumes:
semaphore-mysql: # to use postgres, switch to: semaphore-postgres

@ -0,0 +1 @@
https://github.com/saadbruno/servatrice-compose

@ -0,0 +1,13 @@
version: '3'
services:
sftpgo:
container_name: sftp2go
image: 'drakkan/sftpgo:latest'
restart: unless-stopped
volumes:
- ./backups:/srv/sftpgo
- ./data:/var/lib/sftpgo
ports:
- '18081:8080'
- '2022:2022'

@ -0,0 +1,21 @@
version: "3.3"
services:
synapse:
image: "matrixdotorg/synapse:latest"
container_name: "synapse"
volumes:
- "./data:/data"
environment:
VIRTUAL_HOST: "sub.domain.com"
VIRTUAL_PORT: 8008
LETSENCRYPT_HOST: "sub.domain.com"
SYNAPSE_SERVER_NAME: "sub.domain.com"
SYNAPSE_REPORT_STATS: "yes"
# networks: ["server"]
# networks:
# server:
# external: true
https://linuxhandbook.com/install-matrix-synapse-docker/

@ -0,0 +1,21 @@
version: "3"
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
restart: unless-stopped
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/appdata/config:/config
- /path/to/data1:/data1
- /path/to/data2:/data2
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp

@ -0,0 +1,15 @@
version: "3"
services:
thelounge:
image: lscr.io/linuxserver/thelounge:latest
restart: unless-stopped
container_name: thelounge
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ./tl_data:/config
ports:
- 9000:9000

@ -0,0 +1,11 @@
version: "3"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- 3001:3001 # <Host Port>:<Container Port>

@ -0,0 +1,21 @@
version: "3"
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
container_name: vwarden
environment:
WEBSOCKET_ENABLED: "true" # Enable WebSocket notifications.
DOMAIN: ""
SMTP_HOST: ""
SMTP_FROM: ""
SMTP_PORT: ""
SMTP_SECURITY: ""
SMTP_USERNAME: ""
SMTP_PASSWORD: ""
SIGNUPS_ALLOWED: "false"
volumes:
- ./vw_data:/data
ports:
- 17881:80

@ -0,0 +1,10 @@
version: "3"
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# - /root/.docker/config.json:/config.json
command: --interval 30

@ -0,0 +1,21 @@
version: "3"
services:
weechat:
image: ghcr.io/ksurl/weechat
container_name: weechat
stdin_open: true
tty: true
restart: unless-stopped
network_mode: bridge
ports:
# These ports are in format <host-port>:<container-port>
- '9000:9000' # Public HTTP Port
- '9001:9001' # Public HTTPS Port
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
volumes:
- ./config:/config
- ./downloads:/downloads

@ -0,0 +1,16 @@
version: "3"
services:
wikijs:
image: lscr.io/linuxserver/wikijs:latest
restart: unless-stopped
container_name: wikijs
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ./wiki_config:/config
- ./wiki_data:/data
ports:
- 3000:3000

@ -0,0 +1,28 @@
services:
wpdb:
image: mariadb:10.6.4-focal
restart: unless-stopped
container_name: db-wp
command: '--default-authentication-plugin=mysql_native_password'
volumes:
- ./db_wp:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=somewordpress
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
# expose:
# - 3306
# - 33060
wordpress:
image: wordpress:latest
ports:
- 9000:80
restart: always
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
- WORDPRESS_DB_NAME=wordpress
volumes:
- wp_data:/var/www/html

@ -0,0 +1,22 @@
version: '2'
services:
mage:
image: goesta/xmage-beta
ports:
- "17171:17171"
- "17179:17179"
extra_hosts:
- "example.com:0.0.0.0"
environment:
- XMAGE_DOCKER_SERVER_ADDRESS=example.com
- XMAGE_DOCKER_SERVER_NAME=xmage-beta
- XMAGE_DOCKER_MAX_SECONDS_IDLE=6000
- XMAGE_DOCKER_AUTHENTICATION_ACTIVATED=false
volumes:
- xmage-db:/xmage/db
- xmage-saved:/xmage/saved
volumes:
xmage-db:
driver: local
xmage-saved:
driver: local

@ -0,0 +1,15 @@
version: "3"
services:
znc:
image: lscr.io/linuxserver/znc:latest
container_name: znc
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
- ./znc_data:/config
ports:
- 6501:6501

@ -0,0 +1,103 @@
version: "3"
services:
database:
image: "zulip/zulip-postgresql:14"
restart: unless-stopped
environment:
POSTGRES_DB: "zulip"
POSTGRES_USER: "zulip"
# Note that you need to do a manual `ALTER ROLE` query if you
# change this on a system after booting the postgres container
# the first time on a host. Instructions are available in README.md.
POSTGRES_PASSWORD: "REPLACE_WITH_SECURE_POSTGRES_PASSWORD"
volumes:
- "postgresql-14:/var/lib/postgresql/data:rw"
memcached:
image: "memcached:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
echo 'mech_list: plain' > "$$SASL_CONF_PATH"
echo "zulip@$$HOSTNAME:$$MEMCACHED_PASSWORD" > "$$MEMCACHED_SASL_PWDB"
echo "zulip@localhost:$$MEMCACHED_PASSWORD" >> "$$MEMCACHED_SASL_PWDB"
exec memcached -S
environment:
SASL_CONF_PATH: "/home/memcache/memcached.conf"
MEMCACHED_SASL_PWDB: "/home/memcache/memcached-sasl-db"
MEMCACHED_PASSWORD: "REPLACE_WITH_SECURE_MEMCACHED_PASSWORD"
rabbitmq:
image: "rabbitmq:3.7.7"
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: "zulip"
RABBITMQ_DEFAULT_PASS: "REPLACE_WITH_SECURE_RABBITMQ_PASSWORD"
volumes:
- "rabbitmq:/var/lib/rabbitmq:rw"
redis:
image: "redis:alpine"
restart: unless-stopped
command:
- "sh"
- "-euc"
- |
echo "requirepass '$$REDIS_PASSWORD'" > /etc/redis.conf
exec redis-server /etc/redis.conf
environment:
REDIS_PASSWORD: "REPLACE_WITH_SECURE_REDIS_PASSWORD"
volumes:
- "redis:/data:rw"
zulip:
image: "zulip/docker-zulip:6.1-0"
restart: unless-stopped
build:
context: .
args:
# Change these if you want to build zulip from a different repo/branch
ZULIP_GIT_URL: https://github.com/zulip/zulip.git
ZULIP_GIT_REF: "6.1"
# Set this up if you plan to use your own CA certificate bundle for building
# CUSTOM_CA_CERTIFICATES:
ports:
- "80:80"
- "443:443"
environment:
DB_HOST: "database"
DB_HOST_PORT: "5432"
DB_USER: "zulip"
SSL_CERTIFICATE_GENERATION: "self-signed"
SETTING_MEMCACHED_LOCATION: "memcached:11211"
SETTING_RABBITMQ_HOST: "rabbitmq"
SETTING_REDIS_HOST: "redis"
SECRETS_email_password: "123456789"
# These should match RABBITMQ_DEFAULT_PASS, POSTGRES_PASSWORD,
# MEMCACHED_PASSWORD, and REDIS_PASSWORD above.
SECRETS_rabbitmq_password: "REPLACE_WITH_SECURE_RABBITMQ_PASSWORD"
SECRETS_postgres_password: "REPLACE_WITH_SECURE_POSTGRES_PASSWORD"
SECRETS_memcached_password: "REPLACE_WITH_SECURE_MEMCACHED_PASSWORD"
SECRETS_redis_password: "REPLACE_WITH_SECURE_REDIS_PASSWORD"
SECRETS_secret_key: "REPLACE_WITH_SECURE_SECRET_KEY"
SETTING_EXTERNAL_HOST: "localhost.localdomain"
SETTING_ZULIP_ADMINISTRATOR: "admin@example.com"
SETTING_EMAIL_HOST: "" # e.g. smtp.example.com
SETTING_EMAIL_HOST_USER: "noreply@example.com"
SETTING_EMAIL_PORT: "587"
# It seems that the email server needs to use ssl or tls and can't be used without it
SETTING_EMAIL_USE_SSL: "False"
SETTING_EMAIL_USE_TLS: "True"
ZULIP_AUTH_BACKENDS: "EmailAuthBackend"
# Uncomment this when configuring the mobile push notifications service
# SETTING_PUSH_NOTIFICATION_BOUNCER_URL: 'https://push.zulipchat.com'
volumes:
- "zulip:/data:rw"
ulimits:
nofile:
soft: 1000000
hard: 1048576
volumes:
zulip:
postgresql-14:
rabbitmq:
redis:
Loading…
Cancel
Save