791cd4d6af
Build / build (push) Successful in 12m20s
Rebrand the project as Tinyforge to reflect its evolution from a Docker container watcher into a self-hosted mini CI/deployment platform. Rename covers: Go module path, Docker labels, DB/config filenames, JWT issuer, Dockerfile binary, docker-compose, CI workflows, frontend i18n, README with static sites docs, and all code comments.
3.4 KiB
3.4 KiB
Mini CI Feature Ideas
Feature ideas for evolving the project from a Docker container watcher into a self-hosted mini CI/deployment platform for local developers.
Name Candidates
| Name | Vibe | Domain feel |
|---|---|---|
| Shipyard | Where you build and launch ships (deployments). Nautical, memorable. | shipyard.dev |
| Dockside | Nods to Docker heritage, but broader — "the place beside the dock." | dockside.dev |
| Launchpad | CI/CD connotation, action-oriented. | launchpad.run |
| Portside | Same nautical lane as Portainer, but fresh. | portside.dev |
| Homeport | Self-hosted feel, "home" + "port" (Docker). | homeport.dev |
| Tinyforge | Small but powerful — a forge for building/deploying. | tinyforge.dev |
| Deployr | Blunt, says exactly what it does. | deployr.dev |
| Runwell | "Run things well." Simple, positive. | runwell.dev |
Build Pipeline
- Build from source — clone a repo, run a
Dockerfileordocker-compose.yml, build the image locally, then deploy it. Closes the loop from source to running container. - Build logs streaming — SSE stream of
docker buildoutput, reusing the existing container logs streaming pattern. - Build cache management — show Docker layer cache stats, allow selective cache invalidation.
Git Integration
- Webhook receiver for push events — Gitea/GitHub/GitLab sends a push webhook, the platform rebuilds and redeploys automatically. Reuses existing webhook infra from registry polling.
- Branch preview environments — push to
feature/foo, get a temporary deployment atfoo.preview.local. Auto-cleanup when the branch is deleted. - Commit status reporting — push deploy status back to Gitea/GitHub as commit statuses (green check / red X).
Developer Experience
- CLI tool —
shipyard deploy,shipyard logs,shipyard statusfrom the terminal for developers who prefer the shell. .shipyard.ymlproject config — a declarative file in the repo root that defines how to build, which env vars to inject, health check paths, proxy rules. One file, full deploy config.- Environment promotion — one-click promote from
devtostagingtoprod. Builds on the existing multi-stage project model by adding a promotion workflow.
Observability
- Resource dashboard — CPU/memory/disk per container over time (not just a snapshot). Use Docker stats API with a small ring buffer in SQLite.
- Deploy timeline — a visual timeline showing deploys, rollbacks, and incidents across all projects. "What happened in my infra today?"
- Alerting — container OOM, high CPU, health check failures pushed to Telegram/Discord/email/webhook.
Multi-Service Orchestration
- Compose support — import a
docker-compose.ymland manage the entire stack as one project. Deploy/rollback the stack atomically. - Service dependency graph — visualize which services depend on which. Block deploys if a dependency is unhealthy.
- Shared secrets — secrets scoped to a project or global, injected into any service that needs them. Extends the existing encrypted secrets model from static sites.
Database / Persistence
- Database snapshots — one-click snapshot/restore of database volumes before risky deploys.
- Automatic pre-deploy backup — snapshot the data volume before every deploy, auto-prune old snapshots.