You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Revolt_docker/docker-compose.yml

87 lines
1.8 KiB
YAML

version: '3.8'
services:
# MongoDB database
database:
image: mongo
restart: always
volumes:
- ./data/db:/data/db
# Redis server
redis:
image: eqalpha/keydb
restart: always
# REVOLT API server (Delta)
api:
image: revoltchat/server
env_file: .env
depends_on:
- database
- redis
environment:
- REVOLT_MONGO_URI=mongodb://database
- REVOLT_REDIS_URI=redis://redis/
ports:
- "8000:8000"
- "9000:9000"
restart: always
# REVOLT Web App
web:
image: revoltchat/client:master
env_file: .env
ports:
- "5000:5000"
restart: always
# S3-compatible storage server
minio:
image: minio/minio
command: server /data
env_file: .env
volumes:
- ./data/minio:/data
ports:
- "10000:9000"
restart: always
# Create buckets for minio.
createbuckets:
image: minio/mc
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;
exit 0;
"
# REVOLT file hosting service (Autumn)
autumn:
image: revoltchat/autumn
env_file: .env
depends_on:
- database
- createbuckets
environment:
- AUTUMN_MONGO_URI=mongodb://database
ports:
- "3000:3000"
restart: always
# REVOLT metadata and image proxy (January)
january:
image: revoltchat/january
ports:
- "7000:3000"
restart: always