Root repository and issue tracker for Monarch-Pass.net services, except Glitch City Laboratories and Infinitypedia
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
7.7 KiB

# 7001: parsoid
# 8001: gitlab
# 8002: glitchcity.info
# 8003: malacodapedia
# 8004: etherpad
# 8005: hastebin
# 8006: social
# 8007: phpmyadmin
# 8008: matrix
# 8009: mediagoblin
# 8011: gitea
# 8012: pleroma
# 8013: peertube
# 8014: parsoid
# 8016: woodpecker
# 8017: lemmy
# 8018: lemmy-ui
# 8019: pictrs
# 8020: iframely
# 8021: adminer
# 8022: webchat
version: '2.4'
services:
# 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
# CI server
woodpecker-server:
image: laszlocloud/woodpecker-server:latest
ports:
- 8016:8000
- 9000
volumes:
- ./woodpecker:/var/lib/drone/
restart: on-failure
environment:
- DRONE_OPEN=true
- DRONE_HOST=https://ci.monarch-pass.net
- DRONE_GITEA=true
- DRONE_ADMIN=malacoda
- DRONE_GITEA_URL=https://forge.monarch-pass.net
- DRONE_GITEA_GIT_USERNAME=Woodpecker
- DRONE_GITEA_GIT_PASSWORD=${DRONE_GITEA_GIT_PASSWORD}
- DRONE_GITEA_PRIVATE_MODE=true
- DRONE_SECRET=${DRONE_SECRET}
# CI agent
woodpecker-agent:
image: laszlocloud/woodpecker-agent:latest
command: agent
restart: on-failure
depends_on:
- woodpecker-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=woodpecker-server:9000
- DRONE_SECRET=${DRONE_SECRET}
# 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/"
# 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:13
restart: on-failure
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgresql:/var/lib/postgresql/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
lemmy:
image: dessalines/lemmy:0.11.0
ports:
- "127.0.0.1:8017:8536"
restart: always
environment:
- RUST_LOG=error
volumes:
- ./lemmy/config.hjson:/config/config.hjson
depends_on:
- postgres
- pictrs
- iframely
lemmy-ui:
image: dessalines/lemmy-ui:0.11.0
ports:
- "127.0.0.1:8018:1234"
restart: always
environment:
- LEMMY_INTERNAL_HOST=lemmy:8536
- LEMMY_EXTERNAL_HOST=namek.monarch-pass.net
- LEMMY_HTTPS=true
depends_on:
- lemmy
pictrs:
image: asonix/pictrs:v0.2.5-r0
ports:
- "127.0.0.1:8019:8080"
user: 991:991
volumes:
- ./pictrs:/mnt
restart: always
iframely:
image: dogbin/iframely:latest
ports:
- "127.0.0.1:8020:80"
volumes:
- ./iframely/config.local.js:/iframely/config.local.js:ro
restart: always
mem_limit: 200m
adminer:
image: adminer:latest
ports:
- "127.0.0.1:8021:8080"
links:
- "mariadb:db"
- postgres
webchat:
image: thelounge/thelounge:latest
ports:
- "127.0.0.1:8022:9000"
restart: always
volumes:
- ./irc/thelounge:/var/opt/thelounge
depends_on:
- irc