Files
tiny-forge/MINI-CI-FEATURE-IDEAS.md
alexei.dolgolyov 75424a5f25
Build / build (push) Successful in 10m42s
feat: docker-compose stacks with Forge-themed UI
Adds a new Stacks feature: upload/edit docker-compose YAML,
deploy as atomic units, browse revisions, roll back, and
stream logs. Backend in internal/stack + internal/api/stacks.go,
persistent storage in internal/store/stacks.go.

Stacks pages (list, new, detail) use a modern Forge aesthetic —
Instrument Serif display type, JetBrains Mono for meta/code,
indigo ember accents, dot-grid hero, registration marks on
hover, terminal panel for logs. Palette is sourced from the
app's existing design tokens so the feature remains consistent
with the rest of Tinyforge.

Fonts self-hosted via @fontsource/instrument-serif and
@fontsource/jetbrains-mono to satisfy the strict CSP.
2026-04-16 03:48:37 +03:00

2.6 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.

Build Pipeline

  • Build from source — clone a repo, run a Dockerfile or docker-compose.yml, build the image locally, then deploy it. Closes the loop from source to running container.
  • Build logs streaming — SSE stream of docker build output, 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 at foo.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 toolTinyforge deploy, Tinyforge logs, Tinyforge status from the terminal for developers who prefer the shell.
  • .Tinyforge.yml project 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 dev to staging to prod. 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.yml and 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.