make docker-compose file for monarch-pass.net public

This commit is contained in:
Adrian Kuschelyagi Malacoda 2020-12-20 19:56:15 -06:00
commit 26ad8d8232
2 changed files with 283 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.git.bak
.env

281
docker-compose.yml Normal file
View File

@ -0,0 +1,281 @@
# 7001: parsoid
# 8001: gitlab
# 8002: glitchcity.info
# 8003: malacodapedia
# 8004: etherpad
# 8005: hastebin
# 8006: social
# 8007: phpmyadmin
# 8008: matrix
# 8009: mediagoblin
# 8010: cadvisor
# 8011: gitea
# 8012: pleroma
# 8013: peertube
# 8014: parsoid
# 8015: prometheus
version: '2.4'
services:
# matrix
matrix:
image: matrixdotorg/synapse:latest-py3
# image: matrixdotorg/synapse:v0.99.2-py3
restart: on-failure
volumes:
- ./matrix:/data
environment:
SYNAPSE_SERVER_NAME: matrix.monarch-pass.net
SYNAPSE_REPORT_STATS: "yes"
POSTGRES_DB: synapse
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: ${SYNAPSE_POSTGRES_PASSWORD}
POSTGRES_USER: matrix
ports:
- "127.0.0.1:8008:8008"
- "8448:8448"
links:
- postgres
# openarena
openarena:
image: sago007/openarena
restart: on-failure
volumes:
- ./openarena:/data
ports:
- "27960:27960/udp"
# malacoda.monarch-pass.net/wiki
malacodapedia:
#image: mediawiki
build: https://forge.monarch-pass.net/monarch-pass/mediawiki.git
restart: on-failure
volumes:
- ./malacodapedia/LocalSettings.php:/var/www/html/LocalSettings.php
- ./malacodapedia/images:/var/www/html/images
- ./malacodapedia/skins/mp.png:/var/www/html/skins/mp.png
ports:
- "8003:80"
links:
- memcached
- mariadb
- parsoid
# etherpad.monarch-pass.net
pad:
# build: https://github.com/ether/etherpad-lite.git
image: etherpad/etherpad
external_links:
- mariadb
ports:
- "127.0.0.1:8004:9001"
restart: on-failure
volumes:
- ./etherpad_settings.json:/opt/etherpad-lite/settings.json
# hastebin.monarch-pass.net
hastebin:
image: rlister/hastebin
restart: on-failure
links:
- redis
environment:
STORAGE_TYPE: redis
STORAGE_HOST: redis
ports:
- "127.0.0.1:8005:7777"
# social.monarch-pass.net 2 (pleroma)
pleroma:
image: pandentia/pleroma
volumes:
- ./pleroma/config/prod.secret.exs:/pleroma/config/prod.secret.exs
- ./pleroma/uploads:/pleroma/uploads
ports:
- "127.0.0.1:8012:4000"
restart: on-failure
links:
- postgres
# video.monarch-pass.net
peertube:
image: chocobozzz/peertube:production-stretch
volumes:
- ./peertube/data:/data
- ./peertube/config:/config
environment:
PEERTUBE_WEBSERVER_HOSTNAME: video.monarch-pass.net
PEERTUBE_WEBSERVER_PORT: "443"
PEERTUBE_WEBSERVER_HTTPS: "true"
PEERTUBE_ADMIN_EMAIL: malacoda@monarch-pass.net
PEERTUBE_TRANSCODING_ENABLED: "true"
PEERTUBE_SIGNUP_ENABLED: "true"
PEERTUBE_DB_HOSTNAME: postgres
PEERTUBE_DB_USERNAME: peertube
PEERTUBE_DB_PASSWORD: ${PEERTUBE_DB_PASSWORD}
PEERTUBE_REDIS_HOSTNAME: redis
PEERTUBE_SMTP_HOST: mail.gandi.net
PEERTUBE_SMTP_FROM: no-reply@monarch-pass.net
PEERTUBE_SMTP_USERNAME: no-reply@monarch-pass.net
PEERTUBE_SMTP_PASSWORD: ${PEERTUBE_SMTP_PASSWORD}
ports:
- "127.0.0.1:8013:9000"
links:
- postgres
- redis
# forge.monarch-pass.net
gitea:
image: gitea/gitea:latest
command: "sh -c 'su git -c \"cd /app/gitea; /app/gitea/gitea migrate\"; /bin/s6-svscan /etc/s6'"
links:
- redis
- mariadb
- memcached:cache
#restart: on-failure
restart: unless-stopped
#mem_limit: 512m
#mem_limit: 768m
mem_limit: 1g
ports:
- "127.0.0.1:8011:3000"
- "127.0.0.1:2201:22"
environment:
- USER_UID=1002
- USER_GID=1001
volumes:
- ./gitea:/data
- /home/git/.ssh:/data/git/.ssh
# glitchcity.info
glitchcity:
links:
- memcached:cache
- mariadb:db
ports:
- 127.0.0.1:8002:80
restart: on-failure
volumes:
- ./glitchcity.info/userdata:/userdata
- ./glitchcity.info/log:/var/log
build: https://forge.monarch-pass.net/glitch-city-laboratories/glitch-city-laboratories.git
environment:
GCL_DB_HOST: db
GCL_DB_NAME: glitchcity
GCL_DB_USER: glitchcity
GCL_DB_PASSWORD: ${GCL_DB_PASSWORD}
GCL_FORUMS_URL: //forums.glitchcity.info
GCL_WIKI_URL: //glitchcity.info/wiki
GCL_MEMCACHED_HOST: cache
GCL_SMTP_HOST: mail.gandi.net
GCL_SMTP_USER: no-reply@monarch-pass.net
GCL_SMTP_PASSWORD: ${GCL_SMTP_PASSWORD}
# phpmyadmin
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: on-failure
links:
- mariadb:db
ports:
- "127.0.0.1:8007:80"
environment:
PMA_ABSOLUTE_URI: "https://phpmyadmin.monarch-pass.net/"
# cadvisor
cadvisor:
image: google/cadvisor
restart: on-failure
ports:
- "127.0.0.1:8010:8080"
volumes:
- "/:/rootfs:ro"
- "/var/run:/var/run:rw"
- "/sys:/sys:ro"
- "/var/lib/docker/:/var/lib/docker:ro"
- "/dev/disk/:/dev/disk:ro"
# prometheus
prometheus:
image: prom/prometheus
restart: on-failure
links:
- cadvisor
ports:
- "127.0.0.1:8015:9090"
volumes:
- "./prometheus/config:/etc/prometheus"
- "./prometheus/data:/prometheus"
# parsoid
parsoid:
image: thenets/parsoid:0.10
ports:
- "127.0.0.1:7001:8000"
environment:
PARSOID_DOMAIN_glitchcity: http://glitchcity/w/api.php
PARSOID_DOMAIN_malacodapedia: http://malacodapedia/api.php
PARSOID_DOMAIN_infinitypedia: https://infinitypedia.org/w/api.php
# redis
redis:
# image: sameersbn/redis
image: sameersbn/redis:3.0.6
restart: on-failure
# memcached
memcached:
image: memcached
restart: on-failure
ports:
- 127.0.0.1:11211:11211
# mariadb
mariadb:
image: mariadb
ports:
- 127.0.0.1:3306:3306
restart: on-failure
# command: ["mysqld", "--tc-heuristic-recover=COMMIT"]
volumes:
- ./mariadb/data:/var/lib/mysql
- ./mariadb/etc:/etc/mysql
# postgres
postgres:
image: postgres:10
restart: on-failure
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgresql:/var/lib/postgresql/data
# minecraft
minecraft:
image: itzg/minecraft-server
restart: on-failure
ports:
- 25565:25565
environment:
VERSION: "1.12.2"
EULA: "TRUE"
volumes:
- ./minecraft:/data
# irc
irc:
image: linuxserver/ngircd
ports:
- 6667:6667
# environment:
volumes:
- ./irc/config:/config
# discord bridge
discord-irc:
image: discordirc/discord-irc
links:
- irc
volumes:
- ./irc/discord:/config