# Deploy history

Written by the `dolf-ops-deploy` skill. Newest first. Each entry records what
went out, where it landed, and which host ports it ended up on — the port map
matters because a conflict on the server moves a service off the port the
compose file asks for, and nothing else would tell you where it went.

<!-- deploy-manager:entries — newest first, appended automatically -->

## 2026-10-08 13:57 UTC — `chat`

**❌ failed** · 53s · `168.119.214.202` · `/var/www/private/thinkera.academy/CHAT`

### Ports on the server

| Service | Compose asks for | Published on server | Container port | |
| --- | --- | --- | --- | --- |
| `rails` | 3030 | `3030` | 3030/tcp |  |

### What changed in this release

- First recorded deploy — 25 files.

Files: 25 tracked · 25 added · 0 modified · 0 removed.

<details><summary>Added (25)</summary>

- `docker-compose.local-pg.yml`
- `docker-compose.source.yml`
- `scripts/build-local-image.sh`
- `scripts/create-admin.sh`
- `scripts/download-source.sh`
- `scripts/install-external-db.sh`
- `scripts/install-from-source.sh`
- `scripts/install.sh`
- `scripts/lib-compose.sh`
- `scripts/start.sh`
- `scripts/sql/create-chatwoot-database-pgadmin.sql`
- `scripts/sql/create-chatwoot-database.sql`
- `scripts/sql/create-chatwoot-schema-in-crm.sql`
- `docs-ar/02-installation.md`
- `docs-ar/01-overview.md`
- `docs-ar/03-admin-setup.md`
- `docs-ar/05-ticketing-integration.md`
- `docs-ar/04-agent-guide.md`
- `docs-ar/06-usecase-exam-platform.md`
- `docs-ar/07-usecase-saas.md`
- `docs-ar/08-operations.md`
- `docs-ar/README.md`
- `docker-compose.yml.bak`
- `.dockerignore`
- `docker-compose.yml`

</details>

> First deploy: Chatwoot 4.x (image chatwoot/chatwoot:latest), embedded PostgreSQL, port 3030

---


> **Follow-up to release 20261008-135637 (manual, same day):** the automatic verify ran before the stack was complete. The server did not apply the `embedded-db` profile, so `postgres` never started. Fixed by adding `COMPOSE_PROFILES=embedded-db` to the server `.env`, then running `docker compose up -d`. Rails now runs `db:chatwoot_prepare` before boot. Admin created with `scripts/create-admin.sh`, and the onboarding flag cleared. Verified: `http://localhost:3030/app/login` returns 200 on the server, and `http://168.119.214.202:3030/` and `/app/login` return 200 externally.
> Security note: the payload included `.env.external-db.bak`, because the deploy tool skips `.dockerignore` patterns that contain `*`. It was shredded from the deploy directory and from `~/.deploy-manager`, and `.dockerignore` now lists it by name.
