Dockify
Install

Changelog

Changelog

Versioned releases, newest first. Each entry links its signed release.

1.0.1

Signed release

Rename apps, a fuller view of apps that follow Vercel, and fixes for Vercel logs and Cloudflare tokens.

Added

  • Rename an app. Settings has a Name section for the name the dashboard, notifications, emails and pull request comments show. The app's original name stays its identity for containers, volumes, links, preview hosts and the CLI, so nothing is redeployed. Two apps in one environment cannot show the same name.
  • An app that follows Vercel now reads its Vercel project live. Overview shows what production serves (domains, commit, branch, author, build time) and the project settings, Variables lists the project's environment variables (an admin sees plain values, encrypted and sensitive values are never shown), and Domains lists the project's domains on Vercel. Each tab links to manage it on Vercel.

Changed

  • Counts in group headings are in brackets, so a count after a date, as in "Sat 7 Nov (19)", no longer reads as part of it.

Fixed

  • The Logs tab of an app that follows Vercel could keep showing "Too many log reads" after you switched tabs, because a read for a page you had left kept its slot. A read now stops the moment you leave, and the tab says plainly when Vercel has no runtime logs.
  • Connecting a Cloudflare token with only zone permissions failed with "This token cannot see any Cloudflare account". Dockify now takes the account from the token's zones.
  • After `install.sh --upgrade` from the signed feed, Settings, Updates could still ask to set DOCKIFY_RELEASE_FEED on an install made without a feed. The upgrade now records the feed and key that checked the new images in `.env`.

1.0.0

Signed release

The first release: one server, safe deploys, tested backups and a locked-down control plane.

Added

  • Install on one fresh Ubuntu 22.04 or 24.04 server with one command. The installer checks the signed release and pulls images by digest.
  • Push to deploy from GitHub, per branch, with live build logs and a step timeline.
  • Zero-downtime deploys for stateless apps, gated on a health check, with automatic rollback.
  • Rollback by image id, with no rebuild.
  • Release commands for migrations, run before traffic moves.
  • Managed Postgres and Redis, plus S3 storage, private by default.
  • Six templates: Gotify, ntfy, Memos, SeaweedFS, Uptime Kuma and Miniflux.
  • Preview deploys per pull request, removed when it closes. Forks build only if you opt in, and never get secrets.
  • Encrypted backups to local disk or your S3-compatible bucket, with scheduled restore tests.
  • Restore from the dashboard, into a new database by default.
  • Alert rules per app for down, crash loops and memory, plus host disk, sent to Discord, Slack, Teams, a signed webhook and more, or by email.
  • Email over your own SMTP server for invites, password resets, security notices, alerts and failed deploys.
  • Disk cleanup that keeps rollback images, and a disk alert at 85% by default.
  • Domains through a Cloudflare tunnel with DNS done for you, or direct mode with Let's Encrypt.
  • Env vars per environment, with history and rollback.
  • Streaming logs, and CPU, memory and disk graphs per app.
  • Import of projects and env vars from Vercel.
  • Teams with Admin and Viewer roles.
  • API tokens with expiry, scopes and a project limit.
  • Signed self-updates that dump the database first and roll back on their own.

Security

  • 2FA, a session list and an audit log. Changing what runs asks for your 2FA code again.
  • Builds and deploys reach Docker only through a gate that allows the calls they need and refuses the rest, including pulls from internal and cloud metadata addresses.
  • One container builder: capabilities dropped, never privileged, no host network, folders or ports.
  • Each secret sealed on its own with AES-256-GCM. The master key never enters the database.
  • Every API route has a declared policy, and a test fails if one is missing.
  • The installer refuses a runtime with known escape bugs and blocks containers from cloud metadata addresses.

How entries are written

Every release is one file, docs/releases/<version>.md in the repository: the version and date (or unreleased), one line, then Added, Changed, Fixed and Security. Empty groups are left out. The same notes ship in the signed release feed.

md
## 1.1.0 (YYYY-MM-DD)

One line that says what this release is for.

### Added
- New things you can do.

### Changed
- Things that work differently. Say what to do if it affects you.

### Fixed
- Bugs, named by what you saw, not by the code.

### Security
- Fixes with a CVE or advisory link, and who reported it if they agree.