# 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 # 8016: woodpecker # 8017: lemmy # 8018: lemmy-ui # 8019: pictrs # 8020: iframely # 8021: adminer # 8022: webchat 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 # 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} # 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:13 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 lemmy: image: dessalines/lemmy:0.9.9 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.9.9 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