diff --git a/README-ubuntu.md b/README-ubuntu.md new file mode 100644 index 0000000..80714cc --- /dev/null +++ b/README-ubuntu.md @@ -0,0 +1,63 @@ +# StoatChat (Revolt backend fork) — Ubuntu Server Quickstart + +This stack builds the Rust services from your repo and launches all required infra in Docker. + +## Prereqs (Ubuntu 22.04/24.04) +```bash +sudo apt update +sudo apt install -y ca-certificates curl gnupg lsb-release +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg +echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt update +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +sudo usermod -aG docker $USER +newgrp docker +``` + +## Layout +Place the extracted source next to this folder: +``` +/home/ubuntu/ + stoatchat-main/ # the source you uploaded + stoatchat-deploy/ # this folder (compose + overrides) +``` + +## Build the backend image +```bash +cd ~/stoatchat-deploy +docker compose build backend-build +``` + +## Bring everything up +```bash +docker compose up -d +``` + +Services: +- API (autumn): http://YOUR_SERVER:14704 +- API (january): http://YOUR_SERVER:14705 +- API (gifbox): http://YOUR_SERVER:14706 +- MongoDB: mongodb://YOUR_SERVER:27017 +- Redis: redis://YOUR_SERVER:6379 +- MinIO Console: http://YOUR_SERVER:9001 (S3 API on :9000) +- RabbitMQ Console: http://YOUR_SERVER:15672 (guest/guest by default) +- MailDev: http://YOUR_SERVER:14080 + +## Logs +```bash +docker compose logs -f autumn january gifbox pushd crond +``` + +## Health checks +- Open MailDev to see verification emails. +- Uploads should land in MinIO bucket **revolt-uploads** (the compose auto-creates it). +- If APIs fail to bind, ensure ports 14704–14706 are free. + +## Optional: reverse proxy + TLS +Put Caddy or Nginx in front and point domains at the internal services. +Then set the URLs in `Revolt.overrides.toml` → `[hosts]` to your `https://` domains. + +## Rebuild after code changes +```bash +docker compose build backend-build && docker compose up -d --no-deps autumn january gifbox pushd crond +```