Skip to content

Instantly share code, notes, and snippets.

@Masu-Baumgartner
Last active March 14, 2024 21:48
Show Gist options
  • Save Masu-Baumgartner/9b3292ad8498452a6a73cb0d91a2e207 to your computer and use it in GitHub Desktop.
Save Masu-Baumgartner/9b3292ad8498452a6a73cb0d91a2e207 to your computer and use it in GitHub Desktop.
A actually functional revolt docker compose file
version: "3.8"
services:
# MongoDB database
database:
image: mongo:4.4.16
restart: always
volumes:
- ./data/db:/data/db
# Redis server
redis:
image: redis
restart: always
# S3-compatible storage server
minio:
image: minio/minio
command: server /data
env_file: .env
volumes:
- ./data/minio:/data
restart: always
# Caddy web server
caddy:
image: caddy
restart: always
env_file: .env
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data/caddy-data:/data
- ./data/caddy-config:/config
# API server (delta)
api:
image: ghcr.io/revoltchat/server:20230704-1
env_file: .env
depends_on:
- database
- redis
- caddy
restart: always
# Events service (quark)
events:
image: ghcr.io/revoltchat/bonfire:20230704-1
env_file: .env
container_name: events
depends_on:
- database
- redis
- caddy
restart: always
environment:
- RUST_BACKTRACE=1
# Web App (revite)
web:
image: ghcr.io/revoltchat/client:master
env_file: .env
depends_on:
- caddy
restart: always
# File server (autumn)
autumn:
image: ghcr.io/revoltchat/autumn:1.1.10
env_file: .env
depends_on:
- database
- createbuckets
- caddy
environment:
- AUTUMN_MONGO_URI=mongodb://database
restart: always
# Metadata and image proxy (january)
january:
image: ghcr.io/revoltchat/january:0.3.5
depends_on:
- caddy
restart: always
# Create buckets for minio.
createbuckets:
image: minio/mc:RELEASE.2023-07-21T20-44-27Z
depends_on:
- minio
env_file: .env
entrypoint: >
/bin/sh -c "
while ! curl -s --output /dev/null --connect-timeout 1 http://minio:9000; do echo 'Waiting minio...' && sleep 0.1; done;
/usr/bin/mc alias set minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD;
/usr/bin/mc mb minio/attachments;
/usr/bin/mc mb minio/avatars;
/usr/bin/mc mb minio/backgrounds;
/usr/bin/mc mb minio/icons;
/usr/bin/mc mb minio/banners;
/usr/bin/mc mb minio/emojis;
exit 0;
"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment