72 lines
1.6 KiB
Markdown
72 lines
1.6 KiB
Markdown
# 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`.
|