Add Docker Compose quickstart
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user