From 7d45224784ae49375c9fe5434cd73b80cdeb78a0 Mon Sep 17 00:00:00 2001 From: Celeste Date: Sat, 21 Feb 2026 01:07:11 +0000 Subject: [PATCH] Add compose.yml --- compose.yml | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 compose.yml diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..efd5c52 --- /dev/null +++ b/compose.yml @@ -0,0 +1,68 @@ +name: stoat + +services: + # MongoDB: Database + database: + image: docker.io/mongo + restart: always + volumes: + - ./data/db:/data/db + healthcheck: + test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet + interval: 10s + timeout: 10s + retries: 5 + start_period: 10s + + # Redis: Event message broker & KV store + redis: + image: docker.io/eqalpha/keydb + restart: always + + # RabbitMQ: Internal message broker + + source: ./Revolt.toml + target: /Revolt.toml + restart: always + + # Metadata and image proxy + january: + image: ghcr.io/stoatchat/proxy:v0.11.1 + volumes: + - type: bind + source: ./Revolt.toml + target: /Revolt.toml + restart: always + + # Tenor proxy + gifbox: + image: ghcr.io/stoatchat/gifbox:v0.11.1 + volumes: + - type: bind + source: ./Revolt.toml + target: /Revolt.toml + restart: always + + # Regular task daemon + restart: always + + # Create buckets for minio. + createbuckets: + image: docker.io/minio/mc + depends_on: + - minio + entrypoint: > + /bin/sh -c " + while ! /usr/bin/mc ready minio; do + /usr/bin/mc alias set minio http://minio:9000 minioautumn minioautumn; + echo 'Waiting minio...' && sleep 1; + done; + /usr/bin/mc mb minio/revolt-uploads; + exit 0; + " + + # Web App + web: + image: ghcr.io/stoatchat/for-web:addb6b7 + restart: always + env_file: .env.web \ No newline at end of file