organized and updated
This commit is contained in:
parent
bfbb749f32
commit
ae225275fb
13 changed files with 885 additions and 223 deletions
|
@ -1,84 +1,108 @@
|
||||||
|
|
||||||
#SYSINFO
|
#SYSINFO
|
||||||
# Time zone - get identifier here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
||||||
TZ=
|
TZ=
|
||||||
# UID & GID - get by running 'id' command as user who should own files
|
|
||||||
UID=
|
UID=
|
||||||
GID=
|
GID=
|
||||||
|
|
||||||
#PATHS
|
#PATHS
|
||||||
# Data Path - this is the parent directory where all of your persistent container data will be stored
|
|
||||||
DATA_PATH=
|
DATA_PATH=
|
||||||
|
|
||||||
#MASTODON
|
#MASTODON
|
||||||
# Mastodon DB User/Pass - you choose these
|
|
||||||
MASTODON_DB_USER=
|
MASTODON_DB_USER=
|
||||||
MASTODON_DB_PASS=
|
MASTODON_DB_PASS=
|
||||||
|
|
||||||
# Mastodon Domain - This will be your server's domain. It will be what follows the @ in users' handles
|
|
||||||
MASTODON_DOMAIN=
|
MASTODON_DOMAIN=
|
||||||
# Mastodon Web Domain - this can be the same or different from your server's domain. It is the web address that your server is accessible from. If different from Mastodon Domain, follow this guide: https://masto.host/mastodon-usernames-different-from-the-domain-used-for-installation/
|
|
||||||
MASTODON_WEB_DOMAIN=
|
MASTODON_WEB_DOMAIN=
|
||||||
|
|
||||||
# Instructions from https://docs.linuxserver.io/images/docker-mastodon/
|
|
||||||
# To generate keys for SECRET_KEY_BASE & OTP_SECRET run docker `run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-secret` once for each
|
|
||||||
MASTODON_SECRET_KEY_BASE=
|
MASTODON_SECRET_KEY_BASE=
|
||||||
MASTODON_OTP_SECRET=
|
MASTODON_OTP_SECRET=
|
||||||
# To generate keys for VAPID_PRIVATE_KEY & VAPID_PUBLIC_KEY run `docker run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-vapid`
|
|
||||||
MASTODON_VAPID_PRIVATE_KEY=
|
MASTODON_VAPID_PRIVATE_KEY=
|
||||||
MASTODON_VAPID_PUBLIC_KEY=
|
MASTODON_VAPID_PUBLIC_KEY=
|
||||||
|
|
||||||
# These values will depend on your smtp provider and config. If not self-hosted, I recommend smtp2go
|
|
||||||
SMTP_SERVER=
|
SMTP_SERVER=
|
||||||
SMTP_PORT=
|
SMTP_PORT=
|
||||||
SMTP_USER=
|
SMTP_USER=
|
||||||
SMTP_PASS=
|
SMTP_PASS=
|
||||||
SMTP_FROM=
|
SMTP_FROM=
|
||||||
|
|
||||||
# LDAP Server details, will vary slightly based on your configuration and provider
|
|
||||||
LDAP_SERVER=
|
LDAP_SERVER=
|
||||||
LDAP_PORT=
|
LDAP_PORT=
|
||||||
LDAP_BASE=
|
LDAP_BASE=
|
||||||
# LDAP Filter can restrict logins to users belonging to chosen group.
|
|
||||||
# LLDAP Example for members of 'mastodon' group: "(&(memberOf=cn=mastodon,ou=groups,dc=domain,dc=com)(&(objectclass=person)(|(%{uid}=%{email})(%{mail}=%{email}))))"
|
|
||||||
LDAP_FILTER=
|
LDAP_FILTER=
|
||||||
LDAP_BIND_DN=
|
LDAP_BIND_DN=
|
||||||
LDAP_BIND_PASS=
|
LDAP_BIND_PASS=
|
||||||
|
|
||||||
#MC SMP
|
#MC SMP
|
||||||
# Difficulty can be peaceful,easy,normal,hard
|
|
||||||
MC_SMP_DIFFICULTY=
|
MC_SMP_DIFFICULTY=
|
||||||
# Generate MOTD at motd.gg - after clicking "get your motd", disable the "escape" toggle
|
|
||||||
MC_SMP_MOTD=
|
MC_SMP_MOTD=
|
||||||
# Server operator/moderators
|
|
||||||
MC_SMP_OPS=
|
MC_SMP_OPS=
|
||||||
# Max # of players
|
|
||||||
MC_SMP_MAX_PLAYERS=
|
MC_SMP_MAX_PLAYERS=
|
||||||
# Server name
|
|
||||||
MC_SMP_NAME=
|
MC_SMP_NAME=
|
||||||
# Server seed- wrap in quotes if it begins with a hyphen
|
|
||||||
MC_SMP_SEED=
|
MC_SMP_SEED=
|
||||||
|
|
||||||
|
#ROMM
|
||||||
|
|
||||||
|
ROMM_DB_PASS=
|
||||||
|
ROMM_IGDB_ID=
|
||||||
|
ROMM_IGDB_KEY=
|
||||||
|
ROMM_MOBYGAMES_APIKEY=
|
||||||
|
ROMM_AUTH_KEY=
|
||||||
|
ROMM_USER=
|
||||||
|
ROMM_PASS=
|
||||||
|
|
||||||
|
ROMMDB_ROOT_PASS=
|
||||||
|
|
||||||
#SYNAPSE
|
#SYNAPSE
|
||||||
# matrix server url
|
|
||||||
MATRIX_SERVER=
|
MATRIX_SERVER=
|
||||||
|
|
||||||
# Synapse DB user/pass
|
|
||||||
SYNAPSE_DB_USER=
|
SYNAPSE_DB_USER=
|
||||||
SYNAPSE_DB_PASS=
|
SYNAPSE_DB_PASS=
|
||||||
|
|
||||||
|
#GITLAB
|
||||||
|
|
||||||
|
#DB
|
||||||
|
GL_DB_USER=
|
||||||
|
GL_DB_PASS=
|
||||||
|
|
||||||
|
#Gitlab
|
||||||
|
GL_TZ=
|
||||||
|
|
||||||
|
GL_HOST=
|
||||||
|
|
||||||
|
GL_DB_KEY=
|
||||||
|
GL_SECRETS_KEY=
|
||||||
|
GL_OTP_KEY=
|
||||||
|
|
||||||
|
GL_ROOT_PASS=
|
||||||
|
GL_ROOT_EMAIL=
|
||||||
|
|
||||||
|
GL_EMAIL_NAME=
|
||||||
|
|
||||||
#PORTS
|
#PORTS
|
||||||
#These are the ports services will be available at. I've left my reccomendations here
|
MASTODON_HTTP_PORT=
|
||||||
|
MASTODON_HTTPS_PORT=
|
||||||
|
|
||||||
MASTODON_HTTP_PORT=80
|
MC_NGINX_PORT=
|
||||||
MASTODON_HTTPS_PORT=443
|
|
||||||
|
|
||||||
MC_NGINX_PORT=8065
|
MC_SMP_JAVA_PORT=
|
||||||
|
MC_SMP_BEDROCK_PORT=
|
||||||
|
MC_DYNMAP_PORT=
|
||||||
|
|
||||||
MC_SMP_JAVA_PORT=25565
|
#CRAFTY_HTTP_PORT=
|
||||||
MC_SMP_BEDROCK_PORT=19132
|
#CRAFTY_HTTPS_PORT=
|
||||||
|
#CRAFT_DYNMAP_PORT=
|
||||||
|
#CRAFTY_BEDROCK_PORT=
|
||||||
|
#CRAFTY_JAVA_PORT=
|
||||||
|
|
||||||
SYNAPSE_DB_PORT=5432
|
#PUFFERPANEL_PORT=
|
||||||
MATRIX_PORT=8008
|
|
||||||
RIOT_PORT=86
|
SYNAPSE_DB_PORT=
|
||||||
|
MATRIX_PORT=
|
||||||
|
RIOT_PORT=
|
||||||
|
|
||||||
|
EMUJS_BACKEND_PORT=
|
||||||
|
EMUJS_PORT=
|
||||||
|
|
||||||
|
GL_HTTP_PORT=
|
||||||
|
GL_SSH_PORT=
|
||||||
|
|
22
debian.yml
Normal file
22
debian.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
aptly:
|
||||||
|
image: urpylka/aptly:latest
|
||||||
|
container_name: aptly
|
||||||
|
ports:
|
||||||
|
- "89:80"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/aptly/data:/opt/aptly
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
# debian:
|
||||||
|
# image: sapphic_buildserver
|
||||||
|
# container_name: sapphic_buildserver
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}/sapphic_buildserver/config:/app/config
|
||||||
|
# - ${DATA_PATH}/sapphic_buildserver/output:/app/output
|
||||||
|
# restart: always
|
|
@ -1,193 +0,0 @@
|
||||||
version: "3.8"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
nextcloud_aio_mastercontainer:
|
|
||||||
name: nextcloud_aio_mastercontainer
|
|
||||||
|
|
||||||
services:
|
|
||||||
|
|
||||||
portainer_agent: #Portainer is a web UI for managing your docker containers. This container is just the agent which you need to pair with the portainer-ce host container https://www.portainer.io/
|
|
||||||
image: portainer/agent:2.19.3
|
|
||||||
container_name: portainer_agent
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
|
||||||
ports:
|
|
||||||
- "9001:9001"
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
mastodon-redis: # data structure server for mastodon https://redis.io/docs/about/
|
|
||||||
image: redis
|
|
||||||
container_name: mastodon-redis
|
|
||||||
network_mode: mastodonnet
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/mastodon/redis:/data'
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
mastodon-db: # database for mastodon https://hub.docker.com/_/postgres
|
|
||||||
image: postgres:15.2
|
|
||||||
container_name: mastodon-db
|
|
||||||
network_mode: mastodonnet
|
|
||||||
environment:
|
|
||||||
- POSTGRES_USER=${MASTODON_DB_USER}
|
|
||||||
- POSTGRES_PASSWORD=${MASTODON_DB_PASS}
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/mastodon/postgres:/var/lib/postgresql/data
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
mastodon-elasticsearch: # search and analytics engine for mastodon https://hub.docker.com/_/elasticsearch
|
|
||||||
image: elasticsearch:8.8.0
|
|
||||||
container_name: mastodon-elasticsearch
|
|
||||||
network_mode: mastodonnet
|
|
||||||
environment:
|
|
||||||
- discovery.type=single-node
|
|
||||||
- xpack.ml.enabled=false
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
mastodon: # activitypub microbloggin social network https://docs.linuxserver.io/images/docker-mastodon/#version-tags
|
|
||||||
image: lscr.io/linuxserver/mastodon:latest
|
|
||||||
container_name: mastodon
|
|
||||||
network_mode: mastodonnet
|
|
||||||
environment:
|
|
||||||
- PUID=${UID}
|
|
||||||
- PGID=${GID}
|
|
||||||
- TZ=${TZ}
|
|
||||||
- LOCAL_DOMAIN=${MASTODON_DOMAIN}
|
|
||||||
- REDIS_HOST=mastodon-redis
|
|
||||||
- REDIS_PORT=6379
|
|
||||||
- DB_HOST=mastodon-db
|
|
||||||
- DB_USER=${MASTODON_DB_USER}
|
|
||||||
- DB_NAME=mastodon
|
|
||||||
- DB_PASS=${MASTODON_DB_PASS}
|
|
||||||
- DB_PORT=5432
|
|
||||||
- ES_ENABLED=true
|
|
||||||
- SECRET_KEY_BASE=${MASTODON_SECRET_KEY_BASE}
|
|
||||||
- OTP_SECRET=${MASTODON_OTP_SECRET}
|
|
||||||
- VAPID_PRIVATE_KEY=${MASTODON_VAPID_PRIVATE_KEY}
|
|
||||||
- VAPID_PUBLIC_KEY=${MASTODON_VAPID_PUBLIC_KEY}
|
|
||||||
- SMTP_SERVER=${SMTP_SERVER}
|
|
||||||
- SMTP_PORT=${SMTP_PORT}
|
|
||||||
- SMTP_LOGIN=${SMTP_USER}
|
|
||||||
- SMTP_PASSWORD=${SMTP_PASS}
|
|
||||||
- SMTP_FROM_ADDRESS=${SMTP_FROM}
|
|
||||||
- LDAP_ENABLED=true
|
|
||||||
- LDAP_METHOD=simple
|
|
||||||
- LDAP_HOST=${LDAP_SERVER}
|
|
||||||
- LDAP_PORT=${LDAP_PORT}
|
|
||||||
- LDAP_BASE=${LDAP_BASE}
|
|
||||||
- LDAP_SEARCH_FILTER=${LDAP_FILTER}
|
|
||||||
- LDAP_BIND_DN=${LDAP_BIND_DN}
|
|
||||||
- LDAP_PASSWORD=${LDAP_BIND_PASS}
|
|
||||||
- LDAP_UID=uid
|
|
||||||
- LDAP_MAIL=mail
|
|
||||||
- LDAP_UID_CONVERSION_ENABLED=true
|
|
||||||
- S3_ENABLED=false
|
|
||||||
- WEB_DOMAIN=${MASTODON_WEB_DOMAIN}
|
|
||||||
- ES_HOST=mastodon-elasticsearch
|
|
||||||
- ES_PORT=9200
|
|
||||||
- SIDEKIQ_ONLY=false
|
|
||||||
- SIDEKIQ_QUEUE=
|
|
||||||
- SIDEKIQ_DEFAULT=false
|
|
||||||
- SIDEKIQ_THREADS=5
|
|
||||||
- DB_POOL=5
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/mastodon/config:/config
|
|
||||||
ports:
|
|
||||||
- ${MASTODON_HTTP_PORT}:80
|
|
||||||
- ${MASTODON_HTTPS_PORT}:443
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
mc-nginx: # I use this to host a webpage at my minecraft ip
|
|
||||||
image: nginx
|
|
||||||
container_name: mc-nginx
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/mc-nginx/src:/usr/share/nginx/html
|
|
||||||
ports:
|
|
||||||
- ${MC_NGINX_PORT}:80
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
mc-smp: # minecraft paper server. The config here and options in .env will get you a working server, but you might want to customize it further https://docker-minecraft-server.readthedocs.io/
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
container_name: mc-smp
|
|
||||||
ports:
|
|
||||||
- ${MC_SMP_JAVA_PORT}:25565/tcp
|
|
||||||
- ${MC_SMP_JAVA_PORT}:25565/udp
|
|
||||||
- ${MC_SMP_BEDROCK_PORT}:19132/tcp
|
|
||||||
- ${MC_SMP_BEDROCK_PORT}:19132/udp
|
|
||||||
environment:
|
|
||||||
- EULA=TRUE
|
|
||||||
- EXEC_DIRECTLY=TRUE
|
|
||||||
- MEMORY=4G
|
|
||||||
- VERSION=LATEST
|
|
||||||
- TYPE=PAPER
|
|
||||||
- SPIGET_RESOURCES=18494
|
|
||||||
- MODS_FILE=/extras/mods.txt
|
|
||||||
- DIFFICULTY=${MC_SMP_DIFFICULTY}
|
|
||||||
- MOTD=${MC_SMP_MOTD}
|
|
||||||
- OPS=${MC_SMP_OPS}
|
|
||||||
- ICON=/extras/server-icon.png
|
|
||||||
- MAX_PLAYERS=${MC_SMP_MAX_PLAYERS}
|
|
||||||
- ALLOW_NETHER=TRUE
|
|
||||||
- ANNOUNCE_PLAYER_ACHIEVEMENTS=TRUE
|
|
||||||
- GENERATE_STRUCTURES=TRUE
|
|
||||||
- MODE=survival
|
|
||||||
- SERVER_NAME=${MC_SMP_NAME}
|
|
||||||
- ENABLE_ROLLING_LOGS=TRUE
|
|
||||||
- TZ=${TZ}
|
|
||||||
- SEED=${MC_SMP_SEED}
|
|
||||||
tty: true
|
|
||||||
stdin_open: true
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/mc-smp/data:/data
|
|
||||||
- ${DATA_PATH}/mc-smp/extras:/extras
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
all-in-one: #nextcloud cloud storage - the aio image provides significant functionality with minimal setup https://github.com/nextcloud/all-in-one
|
|
||||||
image: nextcloud/all-in-one:latest
|
|
||||||
container_name: nextcloud-aio-mastercontainer
|
|
||||||
environment:
|
|
||||||
- APACHE_PORT=11000
|
|
||||||
- APACHE_IP_BINDING=0.0.0.0
|
|
||||||
- NEXTCLOUD_DATADIR=${DATA_PATH}/nextcloud-aio/nextcloud
|
|
||||||
volumes:
|
|
||||||
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw
|
|
||||||
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
synapse: #matrix server https://hub.docker.com/r/matrixdotorg/synapse/
|
|
||||||
image: matrixdotorg/synapse:latest
|
|
||||||
container_name: "synapse"
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/synapse/data:/data
|
|
||||||
environment:
|
|
||||||
- VIRTUAL_HOST=${MATRIX_SERVER}
|
|
||||||
- VIRTUAL_PORT=8008
|
|
||||||
- SYNAPSE_SERVER_NAME=${MATRIX_SERVER}
|
|
||||||
- SYNAPSE_REPORT_STATS="yes"
|
|
||||||
ports:
|
|
||||||
- ${MATRIX_PORT}:8008/tcp
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
riot-web: #matrix frontend https://hub.docker.com/r/bubuntux/riot-web
|
|
||||||
image: bubuntux/riot-web
|
|
||||||
container_name: riot_web
|
|
||||||
ports:
|
|
||||||
- ${RIOT_PORT}:80
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
synapse-postgresql: #matrix database https://hub.docker.com/_/postgres
|
|
||||||
image: postgres:latest
|
|
||||||
container_name: synapse-postgresql
|
|
||||||
hostname: synapse-postgresql
|
|
||||||
environment:
|
|
||||||
- POSTGRES_PASSWORD=${SYNAPSE_DB_PASS}
|
|
||||||
- POSTGRES_USER=${SYNAPSE_DB_USER}
|
|
||||||
- POSTGRES_DB=synapse
|
|
||||||
- POSTGRES_INITDB_ARGS=--encoding='UTF8' --lc-collate='C' --lc-ctype='C'
|
|
||||||
volumes:
|
|
||||||
- ${DATA_PATH}/synapse/postgres:/var/lib/postgresql/
|
|
||||||
ports:
|
|
||||||
- ${SYNAPSE_DB_PORT}:5432/tcp
|
|
||||||
restart: unless-stopped
|
|
408
docker-compose.yml.bak
Normal file
408
docker-compose.yml.bak
Normal file
|
@ -0,0 +1,408 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nextcloud_aio_mastercontainer:
|
||||||
|
name: nextcloud_aio_mastercontainer
|
||||||
|
mysql_data:
|
||||||
|
romm_resources:
|
||||||
|
romm_redis_data:
|
||||||
|
gitlab_redis_data:
|
||||||
|
name: gitlab_redis_data
|
||||||
|
gitlab_postgresql_data:
|
||||||
|
name: gitlab_postgresql_data
|
||||||
|
gitlab_data:
|
||||||
|
name: gitlab_data
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
portainer_agent: #Portainer is a web UI for managing your docker containers. This container is just the agent which you need to pair with the portainer-ce host container https://www.portainer.io/
|
||||||
|
image: portainer/agent:2.19.3
|
||||||
|
container_name: portainer_agent
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
||||||
|
ports:
|
||||||
|
- "9001:9001"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
mastodon-redis: # data structure server for mastodon https://redis.io/docs/about/
|
||||||
|
image: redis
|
||||||
|
container_name: mastodon-redis
|
||||||
|
network_mode: mastodonnet
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/redis:/data'
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon-db: # database for mastodon https://hub.docker.com/_/postgres
|
||||||
|
image: postgres:15.2
|
||||||
|
container_name: mastodon-db
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${MASTODON_DB_USER}
|
||||||
|
- POSTGRES_PASSWORD=${MASTODON_DB_PASS}
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/postgres:/var/lib/postgresql/data
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon-elasticsearch: # search and analytics engine for mastodon https://hub.docker.com/_/elasticsearch
|
||||||
|
image: elasticsearch:8.8.0
|
||||||
|
container_name: mastodon-elasticsearch
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- discovery.type=single-node
|
||||||
|
- xpack.ml.enabled=false
|
||||||
|
- xpack.security.enabled=false
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon: # activitypub microbloggin social network https://docs.linuxserver.io/images/docker-mastodon/#version-tags
|
||||||
|
image: lscr.io/linuxserver/mastodon:latest
|
||||||
|
container_name: mastodon
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- PUID=${UID}
|
||||||
|
- PGID=${GID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- LOCAL_DOMAIN=${MASTODON_DOMAIN}
|
||||||
|
- REDIS_HOST=mastodon-redis
|
||||||
|
- REDIS_PORT=6379
|
||||||
|
- DB_HOST=mastodon-db
|
||||||
|
- DB_USER=${MASTODON_DB_USER}
|
||||||
|
- DB_NAME=mastodon
|
||||||
|
- DB_PASS=${MASTODON_DB_PASS}
|
||||||
|
- DB_PORT=5432
|
||||||
|
- ES_ENABLED=true
|
||||||
|
- SECRET_KEY_BASE=${MASTODON_SECRET_KEY_BASE}
|
||||||
|
- OTP_SECRET=${MASTODON_OTP_SECRET}
|
||||||
|
- VAPID_PRIVATE_KEY=${MASTODON_VAPID_PRIVATE_KEY}
|
||||||
|
- VAPID_PUBLIC_KEY=${MASTODON_VAPID_PUBLIC_KEY}
|
||||||
|
- SMTP_SERVER=${SMTP_SERVER}
|
||||||
|
- SMTP_PORT=${SMTP_PORT}
|
||||||
|
- SMTP_LOGIN=${SMTP_USER}
|
||||||
|
- SMTP_PASSWORD=${SMTP_PASS}
|
||||||
|
- SMTP_FROM_ADDRESS=${SMTP_FROM}
|
||||||
|
- LDAP_ENABLED=true
|
||||||
|
- LDAP_METHOD=simple
|
||||||
|
- LDAP_HOST=${LDAP_SERVER}
|
||||||
|
- LDAP_PORT=${LDAP_PORT}
|
||||||
|
- LDAP_BASE=${LDAP_BASE}
|
||||||
|
- LDAP_SEARCH_FILTER=${LDAP_FILTER}
|
||||||
|
- LDAP_BIND_DN=${LDAP_BIND_DN}
|
||||||
|
- LDAP_PASSWORD=${LDAP_BIND_PASS}
|
||||||
|
- LDAP_UID=uid
|
||||||
|
- LDAP_MAIL=mail
|
||||||
|
- LDAP_UID_CONVERSION_ENABLED=true
|
||||||
|
- S3_ENABLED=false
|
||||||
|
- WEB_DOMAIN=${MASTODON_WEB_DOMAIN}
|
||||||
|
- ES_HOST=mastodon-elasticsearch
|
||||||
|
- ES_PORT=9200
|
||||||
|
- SIDEKIQ_ONLY=false
|
||||||
|
- SIDEKIQ_QUEUE=
|
||||||
|
- SIDEKIQ_DEFAULT=false
|
||||||
|
- SIDEKIQ_THREADS=5
|
||||||
|
- DB_POOL=5
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/config:/config
|
||||||
|
ports:
|
||||||
|
- ${MASTODON_HTTP_PORT}:80
|
||||||
|
- ${MASTODON_HTTPS_PORT}:443
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mc-nginx: # I use this to host a webpage at my minecraft ip
|
||||||
|
image: nginx
|
||||||
|
container_name: mc-nginx
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mc-nginx/src:/usr/share/nginx/html
|
||||||
|
ports:
|
||||||
|
- ${MC_NGINX_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mc-smp: # minecraft paper server. The config here and options in .env will get you a working server, but you might want to customize it further https://docker-minecraft-server.readthedocs.io/
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: mc-smp
|
||||||
|
ports:
|
||||||
|
- ${MC_SMP_JAVA_PORT}:25565/tcp
|
||||||
|
- ${MC_SMP_JAVA_PORT}:25565/udp
|
||||||
|
- ${MC_SMP_BEDROCK_PORT}:19132/tcp
|
||||||
|
- ${MC_SMP_BEDROCK_PORT}:19132/udp
|
||||||
|
- ${MC_DYNMAP_PORT}:8123
|
||||||
|
environment:
|
||||||
|
- EULA=TRUE
|
||||||
|
- UID=${UID}
|
||||||
|
- GID=${GID}
|
||||||
|
- EXEC_DIRECTLY=TRUE
|
||||||
|
- MEMORY=4G
|
||||||
|
- VERSION=LATEST
|
||||||
|
- TYPE=PAPER
|
||||||
|
- SPIGET_RESOURCES=18494
|
||||||
|
- MODS_FILE=/extras/mods.txt
|
||||||
|
- DIFFICULTY=${MC_SMP_DIFFICULTY}
|
||||||
|
- MOTD=${MC_SMP_MOTD}
|
||||||
|
- OPS=${MC_SMP_OPS}
|
||||||
|
- ICON=/extras/server-icon.png
|
||||||
|
- MAX_PLAYERS=${MC_SMP_MAX_PLAYERS}
|
||||||
|
- ALLOW_NETHER=TRUE
|
||||||
|
- ANNOUNCE_PLAYER_ACHIEVEMENTS=TRUE
|
||||||
|
- GENERATE_STRUCTURES=TRUE
|
||||||
|
- MODE=survival
|
||||||
|
- SERVER_NAME=${MC_SMP_NAME}
|
||||||
|
- ENABLE_ROLLING_LOGS=TRUE
|
||||||
|
- TZ=${TZ}
|
||||||
|
- SEED=${MC_SMP_SEED}
|
||||||
|
tty: true
|
||||||
|
stdin_open: true
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mc-smp/data:/data
|
||||||
|
- ${DATA_PATH}/mc-smp/extras:/extras
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
emulatorjs: # play many older video game systems via a web-based emulator https://emulatorjs.org/
|
||||||
|
image: lscr.io/linuxserver/emulatorjs:latest
|
||||||
|
container_name: emulatorjs
|
||||||
|
environment:
|
||||||
|
- PUID=33
|
||||||
|
- PGID=0
|
||||||
|
- TZ=${TZ}
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/Emulatorjs/config:/config
|
||||||
|
- ${DATA_PATH}/Emulatorjs/data:/data
|
||||||
|
- ${DATA_PATH}/local/roms:/roms
|
||||||
|
ports:
|
||||||
|
- ${EMUJS_BACKEND_PORT}:3000
|
||||||
|
- ${EMUJS_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# romm:
|
||||||
|
# image: rommapp/romm:latest
|
||||||
|
# container_name: romm
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# - DB_HOST=romm-db
|
||||||
|
# - DB_NAME=romm # Should match MYSQL_DATABASE in mariadb
|
||||||
|
# - DB_USER=romm-user # Should match MYSQL_USER in mariadb
|
||||||
|
# - DB_PASSWD=${ROMM_DB_PASS} # Should match MYSQL_PASSWORD in mariadb
|
||||||
|
# - IGDB_CLIENT_ID=${ROMM_IGDB_ID} # Generate an ID and SECRET in IGDB
|
||||||
|
# - IGDB_CLIENT_SECRET=${ROMM_IGDB_KEY} # https://api-docs.igdb.com/#account-creation
|
||||||
|
# - MOBYGAMES_API_KEY=${ROMM_MOBYGAMES_APIKEY} # https://www.mobygames.com/info/api/
|
||||||
|
# - ROMM_AUTH_SECRET_KEY=${ROMM_AUTH_KEY} # Generate a key with `openssl rand -hex 32`
|
||||||
|
# - ROMM_AUTH_USERNAME=${ROMM_USER}
|
||||||
|
# - ROMM_AUTH_PASSWORD=${ROMM_PASS} # default: admin
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}/romm/resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.)
|
||||||
|
# - romm_redis_data:/redis-data # Cached data for background tasks
|
||||||
|
# - ${DATA_PATH}/local/roms:/romm/library/roms # Your game library
|
||||||
|
# - ${DATA_PATH}/romm/assets:/romm/assets # Uploaded saves, states, etc.
|
||||||
|
# - ${DATA_PATH}/romm/config:/romm/config # Path where config.yml is stored
|
||||||
|
# ports:
|
||||||
|
# - 308:8080
|
||||||
|
# depends_on:
|
||||||
|
# - romm-db
|
||||||
|
|
||||||
|
# romm-db:
|
||||||
|
# image: mariadb:latest
|
||||||
|
# container_name: romm-db
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# - MYSQL_ROOT_PASSWORD=${ROMMDB_ROOT_PASS} # Use a unique, secure password
|
||||||
|
# - MYSQL_DATABASE=romm
|
||||||
|
# - MYSQL_USER=romm-user
|
||||||
|
# - MYSQL_PASSWORD=${ROMM_DB_PASS}
|
||||||
|
# volumes:
|
||||||
|
# - mysql_data:/var/lib/mysql
|
||||||
|
|
||||||
|
all-in-one: #nextcloud cloud storage - the aio image provides significant functionality with minimal setup https://github.com/nextcloud/all-in-one
|
||||||
|
image: nextcloud/all-in-one:latest
|
||||||
|
container_name: nextcloud-aio-mastercontainer
|
||||||
|
environment:
|
||||||
|
- APACHE_PORT=11000
|
||||||
|
- APACHE_IP_BINDING=0.0.0.0
|
||||||
|
- NEXTCLOUD_DATADIR=${DATA_PATH}/nextcloud-aio/nextcloud
|
||||||
|
- NEXTCLOUD_MOUNT=/mnt/2TB/local/
|
||||||
|
volumes:
|
||||||
|
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw
|
||||||
|
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
# protonmail-bridge:
|
||||||
|
# image: shenxn/protonmail-bridge
|
||||||
|
# container_name: protonmail-bridge
|
||||||
|
# volumes:
|
||||||
|
# - /mnt/2TB/protonmail-bridge:/root
|
||||||
|
# ports:
|
||||||
|
# - "1025:25/tcp"
|
||||||
|
# - "1143:143/tcp"
|
||||||
|
# restart: unless-stopped
|
||||||
|
|
||||||
|
synapse: #matrix server https://hub.docker.com/r/matrixdotorg/synapse/
|
||||||
|
image: matrixdotorg/synapse:latest
|
||||||
|
container_name: "synapse"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/synapse/data:/data
|
||||||
|
environment:
|
||||||
|
- VIRTUAL_HOST=${MATRIX_SERVER}
|
||||||
|
- VIRTUAL_PORT=8008
|
||||||
|
- SYNAPSE_SERVER_NAME=${MATRIX_SERVER}
|
||||||
|
- SYNAPSE_REPORT_STATS="yes"
|
||||||
|
ports:
|
||||||
|
- ${MATRIX_PORT}:8008/tcp
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
riot-web: #matrix frontend https://hub.docker.com/r/bubuntux/riot-web
|
||||||
|
image: bubuntux/riot-web
|
||||||
|
container_name: riot_web
|
||||||
|
ports:
|
||||||
|
- ${RIOT_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
synapse-postgresql: #matrix database https://hub.docker.com/_/postgres
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: synapse-postgresql
|
||||||
|
hostname: synapse-postgresql
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=${SYNAPSE_DB_PASS}
|
||||||
|
- POSTGRES_USER=${SYNAPSE_DB_USER}
|
||||||
|
- POSTGRES_DB=synapse
|
||||||
|
- POSTGRES_INITDB_ARGS=--encoding='UTF8' --lc-collate='C' --lc-ctype='C'
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/synapse/postgres:/var/lib/postgresql/
|
||||||
|
ports:
|
||||||
|
- ${SYNAPSE_DB_PORT}:5432/tcp
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
aptly:
|
||||||
|
image: urpylka/aptly:latest
|
||||||
|
container_name: aptly
|
||||||
|
ports:
|
||||||
|
- "89:80"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/aptly/data:/opt/aptly
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
gitlab-redis:
|
||||||
|
restart: always
|
||||||
|
image: redis:6.2.6
|
||||||
|
container_name: gitlab-redis
|
||||||
|
command:
|
||||||
|
- --loglevel warning
|
||||||
|
volumes:
|
||||||
|
# - gitlab_redis_data:/data:Z
|
||||||
|
- ${DATA_PATH}/gitlab/redis:/data:Z
|
||||||
|
|
||||||
|
gitlab-postgresql:
|
||||||
|
restart: always
|
||||||
|
image: sameersbn/postgresql:14-20230628
|
||||||
|
container_name: gitlab-postgresql
|
||||||
|
volumes:
|
||||||
|
# - gitlab_postgresql_data:/var/lib/postgresql:Z
|
||||||
|
- ${DATA_PATH}/gitlab/postgresql:/var/lib/postgresql:Z
|
||||||
|
environment:
|
||||||
|
- DB_USER=${GL_DB_USER}
|
||||||
|
- DB_PASS=${GL_DB_PASS}
|
||||||
|
- DB_NAME=gitlabhq_production
|
||||||
|
- DB_EXTENSION=pg_trgm,btree_gist
|
||||||
|
|
||||||
|
gitlab:
|
||||||
|
restart: always
|
||||||
|
image: sameersbn/gitlab:16.10.2
|
||||||
|
container_name: gitlab
|
||||||
|
depends_on:
|
||||||
|
- gitlab-redis
|
||||||
|
- gitlab-postgresql
|
||||||
|
ports:
|
||||||
|
- "${GL_HTTP_PORT}:80"
|
||||||
|
- "${GL_SSH_PORT}:22"
|
||||||
|
volumes:
|
||||||
|
# - gitlab_data:/home/git/data:Z
|
||||||
|
- ${DATA_PATH}/gitlab/data:/home/git/data:Z
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "/usr/local/sbin/healthcheck"]
|
||||||
|
interval: 5m
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5m
|
||||||
|
environment:
|
||||||
|
- DEBUG=true
|
||||||
|
|
||||||
|
- DB_ADAPTER=postgresql
|
||||||
|
- DB_HOST=gitlab-postgresql
|
||||||
|
- DB_PORT=5432
|
||||||
|
- DB_USER=${GL_DB_USER}
|
||||||
|
- DB_PASS=${GL_DB_PASS}
|
||||||
|
- DB_NAME=gitlabhq_production
|
||||||
|
|
||||||
|
- REDIS_HOST=gitlab-redis
|
||||||
|
- REDIS_PORT=6379
|
||||||
|
|
||||||
|
- TZ=${TZ}
|
||||||
|
- GITLAB_TIMEZONE=${GL_TZ}
|
||||||
|
|
||||||
|
- GITLAB_HTTPS=true
|
||||||
|
- SSL_SELF_SIGNED=false
|
||||||
|
|
||||||
|
- GITLAB_HOST=${GL_HOST}
|
||||||
|
- GITLAB_PORT=10080
|
||||||
|
- GITLAB_SSH_PORT=10022
|
||||||
|
- GITLAB_SECRETS_DB_KEY_BASE=${GL_DB_KEY}
|
||||||
|
- GITLAB_SECRETS_SECRET_KEY_BASE=${GL_SECRETS_KEY}
|
||||||
|
- GITLAB_SECRETS_OTP_KEY_BASE=${GL_OTP_KEY}
|
||||||
|
|
||||||
|
- GITLAB_ROOT_PASSWORD=${GL_ROOT_PASS}
|
||||||
|
- GITLAB_ROOT_EMAIL=${GL_ROOT_EMAIL}
|
||||||
|
|
||||||
|
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
|
||||||
|
- GITLAB_NOTIFY_PUSHER=false
|
||||||
|
|
||||||
|
- GITLAB_EMAIL=${SMTP_FROM}
|
||||||
|
- GITLAB_EMAIL_DISPLAY_NAME=${GL_EMAIL_NAME}
|
||||||
|
- GITLAB_EMAIL_REPLY_TO=${SMTP_FROM}
|
||||||
|
- GITLAB_INCOMING_EMAIL_ENABLED=false
|
||||||
|
|
||||||
|
- GITLAB_BACKUP_SCHEDULE=daily
|
||||||
|
|
||||||
|
- SMTP_ENABLED=true
|
||||||
|
- SMTP_DOMAIN=${SMTP_SERVER}
|
||||||
|
- SMTP_HOST=${SMTP_SERVER}
|
||||||
|
- SMTP_PORT=${SMTP_PORT}
|
||||||
|
- SMTP_USER=${SMTP_USER}
|
||||||
|
- SMTP_PASS=${SMTP_PASS}
|
||||||
|
- SMTP_STARTTLS=true
|
||||||
|
|
||||||
|
# - LDAP_ENABLED=true
|
||||||
|
# - LDAP_LABEL=LDAP
|
||||||
|
# - LDAP_HOST=${LDAP_SERVER}
|
||||||
|
# - LDAP_PORT=${LDAP_PORT}
|
||||||
|
# - LDAP_UID=uid
|
||||||
|
# - LDAP_METHOD=plain
|
||||||
|
# - LDAP_VERIFY_SSL=false
|
||||||
|
# - LDAP_BIND_DN=${LDAP_BIND_DN}
|
||||||
|
# - LDAP_PASS=${LDAP_BIND_PASS}
|
||||||
|
# - LDAP_ACTIVE_DIRECTORY=false
|
||||||
|
# - LDAP_BASE=${LDAP_BASE}
|
||||||
|
# - LDAP_USER_FILTER=${LDAP_FILTER}
|
||||||
|
# - LDAP_LOWERCASE_USERNAMES=true
|
||||||
|
|
||||||
|
# debian:
|
||||||
|
# image: sapphic_buildserver
|
||||||
|
# container_name: sapphic_buildserver
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}/sapphic_buildserver/config:/app/config
|
||||||
|
# - ${DATA_PATH}/sapphic_buildserver/output:/app/output
|
||||||
|
# restart: always
|
||||||
|
|
||||||
|
# samba: # samba remote file access https://github.com/deftwork/samba
|
||||||
|
# image: elswork/samba:latest
|
||||||
|
# container_name: samba
|
||||||
|
# environment:
|
||||||
|
# - TZ=${TZ}
|
||||||
|
# ports:
|
||||||
|
# - "139:139"
|
||||||
|
# - "445:445"
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}:/mnt/Media
|
||||||
|
# - ${TEMP_PATH}/transcodecache:/transcodecache
|
||||||
|
# command: '-u "${UID}:${GID}:${SMB_USER}:${SMB_USER}:${SMB_PASS}" -s "Media:/mnt/Media:rw:${SMB_USER}" -s "TranscodeCache:/transcodecache:rw:${SMB_USER}"'
|
||||||
|
# restart: unless-stopped
|
17
docker-compose.yml_old
Normal file
17
docker-compose.yml_old
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# samba: # samba remote file access https://github.com/deftwork/samba
|
||||||
|
# image: elswork/samba:latest
|
||||||
|
# container_name: samba
|
||||||
|
# environment:
|
||||||
|
# - TZ=${TZ}
|
||||||
|
# ports:
|
||||||
|
# - "139:139"
|
||||||
|
# - "445:445"
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}:/mnt/Media
|
||||||
|
# - ${TEMP_PATH}/transcodecache:/transcodecache
|
||||||
|
# command: '-u "${UID}:${GID}:${SMB_USER}:${SMB_USER}:${SMB_PASS}" -s "Media:/mnt/Media:rw:${SMB_USER}" -s "TranscodeCache:/transcodecache:rw:${SMB_USER}"'
|
||||||
|
# restart: unless-stopped
|
63
emulators.yml
Normal file
63
emulators.yml
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
romm_mysql_data:
|
||||||
|
romm_resources:
|
||||||
|
romm_redis_data:
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
emulatorjs: # play many older video game systems via a web-based emulator https://emulatorjs.org/
|
||||||
|
image: lscr.io/linuxserver/emulatorjs:latest
|
||||||
|
container_name: emulatorjs
|
||||||
|
environment:
|
||||||
|
- PUID=33
|
||||||
|
- PGID=0
|
||||||
|
- TZ=${TZ}
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/Emulatorjs/config:/config
|
||||||
|
- ${DATA_PATH}/Emulatorjs/data:/data
|
||||||
|
- ${DATA_PATH}/local/roms:/roms
|
||||||
|
ports:
|
||||||
|
- ${EMUJS_BACKEND_PORT}:3000
|
||||||
|
- ${EMUJS_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# romm:
|
||||||
|
# image: rommapp/romm:latest
|
||||||
|
# container_name: romm
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# - DB_HOST=romm-db
|
||||||
|
# - DB_NAME=romm # Should match MYSQL_DATABASE in mariadb
|
||||||
|
# - DB_USER=romm-user # Should match MYSQL_USER in mariadb
|
||||||
|
# - DB_PASSWD=${ROMM_DB_PASS} # Should match MYSQL_PASSWORD in mariadb
|
||||||
|
# - IGDB_CLIENT_ID=${ROMM_IGDB_ID} # Generate an ID and SECRET in IGDB
|
||||||
|
# - IGDB_CLIENT_SECRET=${ROMM_IGDB_KEY} # https://api-docs.igdb.com/#account-creation
|
||||||
|
# - MOBYGAMES_API_KEY=${ROMM_MOBYGAMES_APIKEY} # https://www.mobygames.com/info/api/
|
||||||
|
# - ROMM_AUTH_SECRET_KEY=${ROMM_AUTH_KEY} # Generate a key with `openssl rand -hex 32`
|
||||||
|
# - ROMM_AUTH_USERNAME=${ROMM_USER}
|
||||||
|
# - ROMM_AUTH_PASSWORD=${ROMM_PASS} # default: admin
|
||||||
|
# volumes:
|
||||||
|
# - ${DATA_PATH}/romm/resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.)
|
||||||
|
# - romm_redis_data:/redis-data # Cached data for background tasks
|
||||||
|
# - ${DATA_PATH}/local/roms:/romm/library/roms # Your game library
|
||||||
|
# - ${DATA_PATH}/romm/assets:/romm/assets # Uploaded saves, states, etc.
|
||||||
|
# - ${DATA_PATH}/romm/config:/romm/config # Path where config.yml is stored
|
||||||
|
# ports:
|
||||||
|
# - 308:8080
|
||||||
|
# depends_on:
|
||||||
|
# - romm-db
|
||||||
|
|
||||||
|
# romm-db:
|
||||||
|
# image: mariadb:latest
|
||||||
|
# container_name: romm-db
|
||||||
|
# restart: unless-stopped
|
||||||
|
# environment:
|
||||||
|
# - MYSQL_ROOT_PASSWORD=${ROMMDB_ROOT_PASS} # Use a unique, secure password
|
||||||
|
# - MYSQL_DATABASE=romm
|
||||||
|
# - MYSQL_USER=romm-user
|
||||||
|
# - MYSQL_PASSWORD=${ROMM_DB_PASS}
|
||||||
|
# volumes:
|
||||||
|
# - romm_mysql_data:/var/lib/mysql
|
103
gitlab.yml
Normal file
103
gitlab.yml
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
gitlab-redis:
|
||||||
|
restart: always
|
||||||
|
image: redis:6.2.6
|
||||||
|
container_name: gitlab-redis
|
||||||
|
command:
|
||||||
|
- --loglevel warning
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/gitlab/redis:/data:Z
|
||||||
|
|
||||||
|
gitlab-postgresql:
|
||||||
|
restart: always
|
||||||
|
image: sameersbn/postgresql:14-20230628
|
||||||
|
container_name: gitlab-postgresql
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/gitlab/postgresql:/var/lib/postgresql:Z
|
||||||
|
environment:
|
||||||
|
- DB_USER=${GL_DB_USER}
|
||||||
|
- DB_PASS=${GL_DB_PASS}
|
||||||
|
- DB_NAME=gitlabhq_production
|
||||||
|
- DB_EXTENSION=pg_trgm,btree_gist
|
||||||
|
|
||||||
|
gitlab:
|
||||||
|
restart: always
|
||||||
|
image: sameersbn/gitlab:16.10.2
|
||||||
|
container_name: gitlab
|
||||||
|
depends_on:
|
||||||
|
- gitlab-redis
|
||||||
|
- gitlab-postgresql
|
||||||
|
ports:
|
||||||
|
- "${GL_HTTP_PORT}:80"
|
||||||
|
- "${GL_SSH_PORT}:22"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/gitlab/data:/home/git/data:Z
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "/usr/local/sbin/healthcheck"]
|
||||||
|
interval: 5m
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5m
|
||||||
|
environment:
|
||||||
|
- DEBUG=true
|
||||||
|
|
||||||
|
- DB_ADAPTER=postgresql
|
||||||
|
- DB_HOST=gitlab-postgresql
|
||||||
|
- DB_PORT=5432
|
||||||
|
- DB_USER=${GL_DB_USER}
|
||||||
|
- DB_PASS=${GL_DB_PASS}
|
||||||
|
- DB_NAME=gitlabhq_production
|
||||||
|
|
||||||
|
- REDIS_HOST=gitlab-redis
|
||||||
|
- REDIS_PORT=6379
|
||||||
|
|
||||||
|
- TZ=${TZ}
|
||||||
|
- GITLAB_TIMEZONE=${GL_TZ}
|
||||||
|
|
||||||
|
- GITLAB_HTTPS=true
|
||||||
|
- SSL_SELF_SIGNED=false
|
||||||
|
|
||||||
|
- GITLAB_HOST=${GL_HOST}
|
||||||
|
- GITLAB_PORT=80
|
||||||
|
- GITLAB_SSH_PORT=10022
|
||||||
|
- GITLAB_SECRETS_DB_KEY_BASE=${GL_DB_KEY}
|
||||||
|
- GITLAB_SECRETS_SECRET_KEY_BASE=${GL_SECRETS_KEY}
|
||||||
|
- GITLAB_SECRETS_OTP_KEY_BASE=${GL_OTP_KEY}
|
||||||
|
|
||||||
|
- GITLAB_ROOT_PASSWORD=${GL_ROOT_PASS}
|
||||||
|
- GITLAB_ROOT_EMAIL=${GL_ROOT_EMAIL}
|
||||||
|
|
||||||
|
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
|
||||||
|
- GITLAB_NOTIFY_PUSHER=false
|
||||||
|
|
||||||
|
- GITLAB_EMAIL=${SMTP_FROM}
|
||||||
|
- GITLAB_EMAIL_DISPLAY_NAME=${GL_EMAIL_NAME}
|
||||||
|
- GITLAB_EMAIL_REPLY_TO=${SMTP_FROM}
|
||||||
|
- GITLAB_INCOMING_EMAIL_ENABLED=false
|
||||||
|
|
||||||
|
- GITLAB_BACKUP_SCHEDULE=daily
|
||||||
|
|
||||||
|
- SMTP_ENABLED=true
|
||||||
|
- SMTP_DOMAIN=${SMTP_SERVER}
|
||||||
|
- SMTP_HOST=${SMTP_SERVER}
|
||||||
|
- SMTP_PORT=${SMTP_PORT}
|
||||||
|
- SMTP_USER=${SMTP_USER}
|
||||||
|
- SMTP_PASS=${SMTP_PASS}
|
||||||
|
- SMTP_STARTTLS=true
|
||||||
|
|
||||||
|
# - LDAP_ENABLED=true
|
||||||
|
# - LDAP_LABEL=LDAP
|
||||||
|
# - LDAP_HOST=${LDAP_SERVER}
|
||||||
|
# - LDAP_PORT=${LDAP_PORT}
|
||||||
|
# - LDAP_UID=uid
|
||||||
|
# - LDAP_METHOD=plain
|
||||||
|
# - LDAP_VERIFY_SSL=false
|
||||||
|
# - LDAP_BIND_DN=${LDAP_BIND_DN}
|
||||||
|
# - LDAP_PASS=${LDAP_BIND_PASS}
|
||||||
|
# - LDAP_ACTIVE_DIRECTORY=false
|
||||||
|
# - LDAP_BASE=${LDAP_BASE}
|
||||||
|
# - LDAP_USER_FILTER=${LDAP_FILTER}
|
||||||
|
# - LDAP_LOWERCASE_USERNAMES=true
|
85
mastodon.yml
Normal file
85
mastodon.yml
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
mastodon-redis: # data structure server for mastodon https://redis.io/docs/about/
|
||||||
|
image: redis
|
||||||
|
container_name: mastodon-redis
|
||||||
|
network_mode: mastodonnet
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/redis:/data'
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon-db: # database for mastodon https://hub.docker.com/_/postgres
|
||||||
|
image: postgres:15.2
|
||||||
|
container_name: mastodon-db
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${MASTODON_DB_USER}
|
||||||
|
- POSTGRES_PASSWORD=${MASTODON_DB_PASS}
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/postgres:/var/lib/postgresql/data
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon-elasticsearch: # search and analytics engine for mastodon https://hub.docker.com/_/elasticsearch
|
||||||
|
image: elasticsearch:8.8.0
|
||||||
|
container_name: mastodon-elasticsearch
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- discovery.type=single-node
|
||||||
|
- xpack.ml.enabled=false
|
||||||
|
- xpack.security.enabled=false
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mastodon: # activitypub microbloggin social network https://docs.linuxserver.io/images/docker-mastodon/#version-tags
|
||||||
|
image: lscr.io/linuxserver/mastodon:latest
|
||||||
|
container_name: mastodon
|
||||||
|
network_mode: mastodonnet
|
||||||
|
environment:
|
||||||
|
- PUID=${UID}
|
||||||
|
- PGID=${GID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- LOCAL_DOMAIN=${MASTODON_DOMAIN}
|
||||||
|
- REDIS_HOST=mastodon-redis
|
||||||
|
- REDIS_PORT=6379
|
||||||
|
- DB_HOST=mastodon-db
|
||||||
|
- DB_USER=${MASTODON_DB_USER}
|
||||||
|
- DB_NAME=mastodon
|
||||||
|
- DB_PASS=${MASTODON_DB_PASS}
|
||||||
|
- DB_PORT=5432
|
||||||
|
- ES_ENABLED=true
|
||||||
|
- SECRET_KEY_BASE=${MASTODON_SECRET_KEY_BASE}
|
||||||
|
- OTP_SECRET=${MASTODON_OTP_SECRET}
|
||||||
|
- VAPID_PRIVATE_KEY=${MASTODON_VAPID_PRIVATE_KEY}
|
||||||
|
- VAPID_PUBLIC_KEY=${MASTODON_VAPID_PUBLIC_KEY}
|
||||||
|
- SMTP_SERVER=${SMTP_SERVER}
|
||||||
|
- SMTP_PORT=${SMTP_PORT}
|
||||||
|
- SMTP_LOGIN=${SMTP_USER}
|
||||||
|
- SMTP_PASSWORD=${SMTP_PASS}
|
||||||
|
- SMTP_FROM_ADDRESS=${SMTP_FROM}
|
||||||
|
- LDAP_ENABLED=true
|
||||||
|
- LDAP_METHOD=simple
|
||||||
|
- LDAP_HOST=${LDAP_SERVER}
|
||||||
|
- LDAP_PORT=${LDAP_PORT}
|
||||||
|
- LDAP_BASE=${LDAP_BASE}
|
||||||
|
- LDAP_SEARCH_FILTER=${LDAP_FILTER}
|
||||||
|
- LDAP_BIND_DN=${LDAP_BIND_DN}
|
||||||
|
- LDAP_PASSWORD=${LDAP_BIND_PASS}
|
||||||
|
- LDAP_UID=uid
|
||||||
|
- LDAP_MAIL=mail
|
||||||
|
- LDAP_UID_CONVERSION_ENABLED=true
|
||||||
|
- S3_ENABLED=false
|
||||||
|
- WEB_DOMAIN=${MASTODON_WEB_DOMAIN}
|
||||||
|
- ES_HOST=mastodon-elasticsearch
|
||||||
|
- ES_PORT=9200
|
||||||
|
- SIDEKIQ_ONLY=false
|
||||||
|
- SIDEKIQ_QUEUE=
|
||||||
|
- SIDEKIQ_DEFAULT=false
|
||||||
|
- SIDEKIQ_THREADS=5
|
||||||
|
- DB_POOL=5
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mastodon/config:/config
|
||||||
|
ports:
|
||||||
|
- ${MASTODON_HTTP_PORT}:80
|
||||||
|
- ${MASTODON_HTTPS_PORT}:443
|
||||||
|
restart: unless-stopped
|
39
matrix.yml
Normal file
39
matrix.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
synapse: #matrix server https://hub.docker.com/r/matrixdotorg/synapse/
|
||||||
|
image: matrixdotorg/synapse:latest
|
||||||
|
container_name: "synapse"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/synapse/data:/data
|
||||||
|
environment:
|
||||||
|
- VIRTUAL_HOST=${MATRIX_SERVER}
|
||||||
|
- VIRTUAL_PORT=8008
|
||||||
|
- SYNAPSE_SERVER_NAME=${MATRIX_SERVER}
|
||||||
|
- SYNAPSE_REPORT_STATS="yes"
|
||||||
|
ports:
|
||||||
|
- ${MATRIX_PORT}:8008/tcp
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
riot-web: #matrix frontend https://hub.docker.com/r/bubuntux/riot-web
|
||||||
|
image: bubuntux/riot-web
|
||||||
|
container_name: riot_web
|
||||||
|
ports:
|
||||||
|
- ${RIOT_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
synapse-postgresql: #matrix database https://hub.docker.com/_/postgres
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: synapse-postgresql
|
||||||
|
hostname: synapse-postgresql
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=${SYNAPSE_DB_PASS}
|
||||||
|
- POSTGRES_USER=${SYNAPSE_DB_USER}
|
||||||
|
- POSTGRES_DB=synapse
|
||||||
|
- POSTGRES_INITDB_ARGS=--encoding='UTF8' --lc-collate='C' --lc-ctype='C'
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/synapse/postgres:/var/lib/postgresql/
|
||||||
|
ports:
|
||||||
|
- ${SYNAPSE_DB_PORT}:5432/tcp
|
||||||
|
restart: unless-stopped
|
51
minecraft.yml
Normal file
51
minecraft.yml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
mc-nginx: # I use this to host a webpage at my minecraft ip
|
||||||
|
image: nginx
|
||||||
|
container_name: mc-nginx
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mc-nginx/src:/usr/share/nginx/html
|
||||||
|
ports:
|
||||||
|
- ${MC_NGINX_PORT}:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
mc-smp: # minecraft paper server. The config here and options in .env will get you a working server, but you might want to customize it further https://docker-minecraft-server.readthedocs.io/
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
container_name: mc-smp
|
||||||
|
ports:
|
||||||
|
- ${MC_SMP_JAVA_PORT}:25565/tcp
|
||||||
|
- ${MC_SMP_JAVA_PORT}:25565/udp
|
||||||
|
- ${MC_SMP_BEDROCK_PORT}:19132/tcp
|
||||||
|
- ${MC_SMP_BEDROCK_PORT}:19132/udp
|
||||||
|
- ${MC_DYNMAP_PORT}:8123
|
||||||
|
environment:
|
||||||
|
- EULA=TRUE
|
||||||
|
- UID=${UID}
|
||||||
|
- GID=${GID}
|
||||||
|
- EXEC_DIRECTLY=TRUE
|
||||||
|
- MEMORY=4G
|
||||||
|
- VERSION=LATEST
|
||||||
|
- TYPE=PAPER
|
||||||
|
- SPIGET_RESOURCES=18494
|
||||||
|
- MODS_FILE=/extras/mods.txt
|
||||||
|
- DIFFICULTY=${MC_SMP_DIFFICULTY}
|
||||||
|
- MOTD=${MC_SMP_MOTD}
|
||||||
|
- OPS=${MC_SMP_OPS}
|
||||||
|
- ICON=/extras/server-icon.png
|
||||||
|
- MAX_PLAYERS=${MC_SMP_MAX_PLAYERS}
|
||||||
|
- ALLOW_NETHER=TRUE
|
||||||
|
- ANNOUNCE_PLAYER_ACHIEVEMENTS=TRUE
|
||||||
|
- GENERATE_STRUCTURES=TRUE
|
||||||
|
- MODE=survival
|
||||||
|
- SERVER_NAME=${MC_SMP_NAME}
|
||||||
|
- ENABLE_ROLLING_LOGS=TRUE
|
||||||
|
- TZ=${TZ}
|
||||||
|
- SEED=${MC_SMP_SEED}
|
||||||
|
tty: true
|
||||||
|
stdin_open: true
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}/mc-smp/data:/data
|
||||||
|
- ${DATA_PATH}/mc-smp/extras:/extras
|
||||||
|
restart: unless-stopped
|
13
monitoring.yml
Normal file
13
monitoring.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
portainer_agent: #Portainer is a web UI for managing your docker containers. This container is just the agent which you need to pair with the portainer-ce host container https://www.portainer.io/
|
||||||
|
image: portainer/agent:2.19.3
|
||||||
|
container_name: portainer_agent
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
||||||
|
ports:
|
||||||
|
- "9001:9001"
|
||||||
|
restart: always
|
23
nextcloud.yml
Normal file
23
nextcloud.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nextcloud_aio_mastercontainer:
|
||||||
|
name: nextcloud_aio_mastercontainer
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
all-in-one: #nextcloud cloud storage - the aio image provides significant functionality with minimal setup https://github.com/nextcloud/all-in-one
|
||||||
|
image: nextcloud/all-in-one:latest
|
||||||
|
container_name: nextcloud-aio-mastercontainer
|
||||||
|
environment:
|
||||||
|
- APACHE_PORT=11000
|
||||||
|
- APACHE_IP_BINDING=0.0.0.0
|
||||||
|
- NEXTCLOUD_DATADIR=${DATA_PATH}/nextcloud-aio/nextcloud
|
||||||
|
- NEXTCLOUD_MOUNT=/mnt/2TB/local/
|
||||||
|
volumes:
|
||||||
|
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw
|
||||||
|
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
restart: always
|
7
startall.sh
Executable file
7
startall.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
script_root="$( dirname $0 )"
|
||||||
|
|
||||||
|
for y in "${script_root}"/*.yml;do
|
||||||
|
sudo docker-compose -f "${y}" up -d
|
||||||
|
done
|
Loading…
Add table
Reference in a new issue