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…
Reference in new issue