# GoChat Docker Compose Quickstart This directory starts a local GoChat stack for manual business validation: - GoChat API on `http://127.0.0.1:3000` - PostgreSQL + pgvector - Redis - Meilisearch - Mailhog SMTP/Web UI - Optional deterministic seed data It is intended for local/UAT quickstart, not hardened production deployment. ## Prerequisites - Docker Engine with Compose v2 (`docker compose version`) - Free local ports: `3000`, `5432`, `6379`, `7700`, `1025`, `8025` If those ports conflict, edit `.env` after copying `.env.example`. ## Start ```bash cd deploy/quickstart cp .env.example .env docker compose up -d --build ``` Wait until GoChat is healthy: ```bash docker compose ps docker compose logs -f gochat curl -fsS http://127.0.0.1:3000/health ``` ## Seed Demo Data ```bash docker compose --profile seed run --rm seed ``` Default login after seeding: - Email: `admin@gochat.local` - Password: `changeme` Change these values in `.env` before running the seed command if needed. ## Useful Commands ```bash # Follow all logs docker compose logs -f # Restart GoChat only docker compose restart gochat # Stop without deleting data docker compose down # Reset all local data docker compose down -v ``` ## Notes - GoChat runs migrations automatically on startup with `GOCHAT_DATABASE_RUN_MIGRATIONS=true`. - The production image includes `/app/migrations`; GoChat runs them automatically on startup in this quickstart stack. - Meilisearch uses the quickstart key from `.env`; change it before sharing this stack. - Mailhog Web UI is available at `http://127.0.0.1:8025`.