Repository navigation
Releases: DahanItamar/DockNest
Release list
DockNest 2.8.2
DockNest 2.8.2
Downloading a large ZIP now works behind Cloudflare and shows its progress.
Fixed
- Full ZIP download of large backups. Clicking Download ZIP opens a window that checks the whole backup first and shows the progress and the time left. When it is ready, the download starts at once, so Cloudflare no longer cuts it off with error 524. You can close the window while it works. Nothing is stored on the server, and the download fails visibly if the backup changes while it is being sent.
DockNest 2.8.1
DockNest 2.8.1
Large backups can now be downloaded as a normal ZIP.
Fixed
- Full ZIP download of large backups. DockNest asked for far too much free space on the server (eight times the backup's size) and refused big sites. The ZIP now streams straight to your computer, so the server only needs about the backup's size plus 2 GB. The backup is still fully checked before anything is sent.
DockNest 2.8.0
DockNest 2.8.0
Alerts in Telegram or email, set up on the Map like a flow, and a Map you can work on more freely.
New
- Alerts. Add a Telegram or Email node on the Map, draw a line from DockNest, a server or a site, and choose what to hear about: backups failing or passing, moves finished or waiting for you, a server unreachable or low on disk, a new DockNest version. Open the node to set it up and press Send test message.
- Credentials. Save a Telegram bot or a mail account once and pick it in any alert node. Tokens and passwords are encrypted and never shown again.
Better
- Click a node for more: a server's address, SSH user and port, host key, operating system and tool versions, with copy buttons; a site's ports, schedule and last backup size.
- Hover or select a node to light up everything it is connected to. All lines are solid.
- Move nodes around while you work, with Undo, Redo and Tidy up. The map sorts itself neatly again after you save.
- Drag a server, storage or alert from the + panel onto the map. The + beside a node only shows when nothing is connected yet.
Before you update
- Nothing to do. Alerts stay off until you add a node.
DockNest 2.7.0
DockNest 2.7.0
A new Map you can work on like a flow: see servers, sites and backup storage connected, click anything for details, and move sites by moving their line.
New
- Map v2. Servers, sites and backup storage as connected nodes. Click a node for its details; a site shows its domains, containers and the databases that move with it.
- Move by reconnecting. Pull a site's line off its server and drop it on another one. Save changes stays off until every site is connected again.
- Install what a server is missing. When a move needs nginx, Docker, Docker Compose or certbot, choose Install (you confirm with your password and code) or Show command to run it yourself.
Better
- The map opens at regular size and fits the height of your screen; zoom out only when you want to.
- Messages when a server cannot take a site are short and say what to do.
Fixed
- The Update now button was blocked for a day after a few attempts that changed nothing. Only real updates count now, and the message says when you can try again.
- On phones, "Move to…" shows long reasons in full and its buttons sit clear of the bottom of the screen.
- The new release notes are shorter and written for you, not for developers.
Security
- Installing on a server uses only a fixed list of packages from the server's own sources, never removes anything, and needs a fresh password and code.
Before you update
- After this update, run
sudo scripts/install-updater.sh --repaironce on the server, so the updater gets its fix.
DockNest 2.6.0
DockNest 2.6.0
See all your servers on one map, and move a site to another server by dragging it.
New
- Map. All your servers and the sites on each one in one picture, with zoom and Fit to screen. On phones it is a list.
- Move a site. Drag a site onto another server, press Save changes, then Move. DockNest backs it up, tests a copy on the new server and only then switches. Cancel any time before the switch; Switch back for 7 days. Administrators only, beta.
Fixed
- Access: Status and Role are now separate columns, and Active shows its icon.
- Storage cards: the buttons fill the card's width.
Before you update
- Finish or cancel any move before going back to an older version.
DockNest 2.5.0
DockNest 2.5.0
Released 2026-10-23. Full changelog.
Summary
A security and reliability release from a full audit of DockNest, plus branded error pages and automatic clean-up after updates. Every install should update.
What's new
- Error pages in DockNest's own style: 404, 403, 401 and the "This page stopped working" screen, each with one clear button, plus a 503 page for reverse proxies that retries by itself.
- Leftover backup working folders on your servers are now cleaned up automatically after each backup (only folders of finished jobs).
Improved
- Updates keep the previous release's image under a stable tag, so the rollback instructions always work.
- After a successful update, old DockNest images and build leftovers are removed automatically; other projects' images are never touched.
- Storage cards with two buttons use the full width.
Fixed
- Since 2.1.0, successful backups skipped their clean-up: the unencrypted working copy stayed on the source server and retention never removed old recovery points. Both now work. On the first backup after updating, each site keeps exactly its retention number of recovery points (pinned ones are always kept).
- A source server with a wrong clock can no longer make retention delete the newest recovery point.
Security
- Only administrators can add or change a site's file paths, staging or maintenance folder; protected system files (password and SSH key files, /proc, /sys, /dev) are never captured.
- Sign-in and API rate limits can no longer be bypassed by switching IPv6 addresses.
- Restore refuses archive link tricks that point outside the restore folder and archives larger than the free space.
- The maintenance page writer refuses planted links and special files.
- The host updater refuses unverified image installs and tampered status files; CI actions are pinned; no known dependency vulnerabilities.
- Restoring a recovery kit cancels old open invitations.
Upgrade notes
From 2.4.x, use Update now in the Update Center, or scripts/upgrade.sh --version v2.5.0. No database migration. The image-retention fix applies from the update after this one (each update runs the script already installed); docs/upgrading.md explains the one-time docker tag docknest:local docknest:previous for 2.4.1 installs that want a rollback image now. A site whose saved paths include a protected system path stops backing up with a clear message until an administrator removes that path.
Known limits
Unchanged from 2.4.0.
Validation
CI on every pull request, including the Linux integration suite (real backup and restore). Pending the private release validation on the release commit.
DockNest 2.4.1
DockNest 2.4.1
Released 2026-10-23. Full changelog.
Summary
A polish and clarity release. The pager keeps the same gap on every page, wide screens use their width, the Audit trail reads like a sentence, the collapsed sidebar rail is clean, every page has one filter, and the Update Center says which updater limit applied and when you can try again. Problem reports can now prefill "What happened?" without sharing anything private. Upgrade for a calmer, clearer interface; nothing about backups, restores or updates changes.
What's new
- A readable Audit trail. Actions read as "Signed in", "Update requested", "Update refused", "Re-authenticated" or "Job superseded" (the raw code stays in View details). The actor is the person's display name, or System, Worker, Scheduler or Unknown user, never a raw id. Columns are proportional so nothing is cut off from 1280 px up, and View details is a frameless icon button like in Jobs.
- "What happened?" in problem reports. When a failure message is one of DockNest's own fixed messages, the issue form's "What happened?" field is prefilled from a built-in list (never from the server text). For any other message, an unticked Include the error message box lets you add it: redacted, at most 40 lines and 2 KiB, editable, shown in the review before GitHub opens, with a Copy fallback when it does not fit in the link. See Problem reports.
Improved
- Wide screens use their width. From 1920 px the page keeps a 40 px edge (48 px from 2560 px) and the content grows to 2200 px at 2560 px and 3400 px at 3840 px, with the sidebar expanded or collapsed. Phone, tablet and 1440 px are unchanged.
- Audit and Jobs fill the screen. The row count follows the available height (never fewer than 10), with the pager in a stable place.
- One filter per page, none in the header. The header search box is gone. Servers, Sites & schedules, Backups, Jobs and Audit have a filter with a funnel icon ("Filter servers...") above the list and the record count on the right, with a proper singular ("1 record").
- A clean collapsed rail. Only a 44 px health pulse and a 44 px capacity ring, with no overlapping text and no frame at rest; the focus ring appears only for the keyboard. Details stay in the tooltip and popover.
- Several storage destinations. The sidebar readout and the rail popover name the destination they describe (the one selected for new backups); the Storage page shows four destinations per page, fitted to the screen, with long names wrapping inside their card and "Selected for new backups" on its own line.
- Overview layout. From 1024 px: two large cards (Sites with recovery points, Recovery points) and a third column with Active jobs above Average capture downtime, all edges aligned. The Recovery points card now opens on Month instead of Year.
- Open GitHub shows the GitHub mark on every problem-report button.
- Counts read correctly. A small shared helper writes "1 successful backup", "1 account", "1 minute", "1 recovery point" and similar everywhere in the interface.
Fixed
- The pager gap differed between pages. On a full page the cards touched the pager, on a partial last page there was a gap. Card pages (Sites, Servers, Storage and every other card list) now keep the same 24 px gap on every page and every width, phones included (1024 to 3840 px on desktop), and the pager does not move.
- "1 successful backups". Retention and other counts used the plural for one.
- Wrong message when the updater refused for rate limits. It always said "wait a few minutes", even for the daily limit. The updater now says which limit applied: "The updater needs a minute between runs. Try again at 14:05." or "The updater allows 6 update runs a day. The next run is possible at 09:30." The limits themselves are unchanged. The API's own limit now says "Too many requests. Try again in N seconds."
- Audit cells were truncated (long ids, times cut with an ellipsis); see the Audit trail above.
Security
No security fixes. The new prefill and its limits are described in Problem reports. Security problems go through SECURITY.md, not public issues.
Upgrade notes
From 2.4.0, use Update now in the Update Center, or scripts/upgrade.sh --version v2.4.1. No metadata migration. The API changes are additive: GET /api/state gains actors (display names, only for the accounts that appear in the audit rows it returns), a rate-limited update refusal gains limit and retryAt, and the progress limiter's 429 gains retryAfter. The exact limit and time come from the host updater: reinstall it once (sudo scripts/install-updater.sh) to get them; until then the Update Center shows a generic "limiting update runs" message with no time. The updater's protocol, limits and permissions are unchanged.
Known limits
- The catalogue of fixed messages covers messages DockNest writes as literals; messages that include a name, path or address are not in it and need the opt-in box.
- The excerpt redaction is automatic and can miss private text such as a bare person's name; the dialog says so and the text is editable before sharing.
- With several storage destinations the sidebar readout shows only the one selected for new backups; each destination's own usage is not summed.
Validation
- Tested: unit tests (
npm run check, Python broker tests, catalogue and canary tests), and browser suites against mocked APIs: pagination (gap at five widths from 1024 to 3840), the newnpm run test:layout(wide-screen frame, Overview grid, Audit, rail, filters, one to five storage destinations at 1440, 2560 and 402 px), Update Center, problem reports, mobile, rebrand, servers, dashboard and others, light and dark. - Not covered: a real update, backup or restore on Linux Docker; this release does not change their behaviour. Pending the private release validation on the release commit (release validation).
DockNest 2.4.0
DockNest 2.4.0
Released 2026-10-23. Full changelog.
Summary
Problem reports without personal data. When something fails, administrators can open a pre-filled GitHub issue that carries only fixed, typed values, after reviewing exactly what will be shared. Upgrade if you want to report problems from DockNest; nothing else changes.
What's new
- Open GitHub on failures. Failed and recovery-required jobs, storage and server connection tests, DockNest backup failures, failed updates (the result screen and failed rows in Recent updates) and unexpected app errors offer Open GitHub. A "Review what will be shared" dialog lists the exact title and values first; your browser then opens the issue form in a new tab. DockNest's server sends nothing and nothing is posted until you submit on GitHub. Administrators only; Report a bug in Settings > About stays available to every signed-in user.
- Nothing private in a report. Every value is checked against a fixed list or pattern and dropped if it does not match. Host names, addresses, URLs, paths, user names, emails, site and server names, ids, error text, logs and stack traces are never included. An environment section (coarse Docker, Compose, git, OS, kernel, architecture and free-disk values) is included by default and can be unticked. See Problem reports.
- Update-failure reports. The outcome, result, failed stage and phase, a timeline in relative seconds, the reason code, the schema change, the install mode and the updater version. Optionally, and off by default, the last error lines of that run, with addresses, paths, names and keys replaced by
[redacted], editable before sharing, and a Copy excerpt fallback when they do not fit in the link. - "This page stopped working". An unexpected error in a page now shows a recovery screen with Reload page instead of a blank page. Its report carries only the page, the area and the error type (for example
TypeError).
Improved
- Settings > About: the button is labelled Report a bug and uses the same review dialog; on phones the dialog is a bottom sheet with full-width buttons.
Fixed
None.
Security
No security fixes. The report rules, the excerpt redaction and their limits are described in Problem reports. Security problems go through SECURITY.md, not public issues.
Upgrade notes
From 2.3.x, use Update now in the Update Center, or scripts/upgrade.sh --version v2.4.0. No metadata migration. The API changes are additive: storage and server connection test errors gain errorClass (and check) next to the unchanged message, the admin update status gains typed report fields, and GET /api/updates/requests/:id is new (administrators only).
Known limits
- Engine and helper failures do not have reason codes yet, so job reports carry only the existing structured fields (job type, phase key, site kind, storage type, container count, helper outcome).
- The DockNest backup report carries the destination type and how it ended, not the phase (snapshot, encrypt, upload, verify): the phase is not recorded yet.
- The storage type in a job report is the currently selected destination, not one recorded with the job.
- The excerpt redaction is automatic and can miss private text; the dialog says so and the text is editable before sharing.
- GitHub applies the issue labels only once they exist in the repository.
Validation
- Tested: unit tests (
npm run check), including a canary test that plants host names, addresses, paths, emails, tokens, names, ids and error text into every report builder and the excerpt sources and checks that none reaches a link or the dialog; browser suites against mocked APIs (npm run test:reports, the Update Center, mobile, dashboard, servers, storage, DockNest backup and other suites), light and dark, 320 to 1440 px including 402 x 874. - Not covered: a real failed backup, restore or update on Linux Docker; this release does not change backup, restore or update behaviour. Pending the private release validation on the release commit (release validation).
DockNest 2.3.1
DockNest 2.3.1
Released 2026-10-23. Full changelog.
Summary
Phone fixes for the 2.3.0 redesign, found on an iPhone 17 Pro, and a simpler Update Center.
What's new
None.
Improved
- The Update Center has two tabs, Overview and What's new. Past updates appear in a "Recent updates" section at the bottom of the Overview, closed by default, as short rows that fit any phone. Old links to the History tab open the Overview.
- The Automatic checks card has only its switch; the duplicate "Turn off" row is gone.
Fixed
- On phones the header no longer overlaps the logo; the tagline is hidden and sign-out moves to Settings > End session.
- The phone menu shows one close button instead of two.
- Card buttons on phones no longer overlap the content above them.
- The Backups, Sites, Servers, Jobs and Audit lists no longer leave empty space on phones and use a compact one-row pager.
Security
No security changes.
Upgrade notes
From 2.3.0, use Update now in the Update Center, or scripts/upgrade.sh --version v2.3.1. No metadata migration.
Known limits
Unchanged from 2.2.0.
Validation
Browser suites with mocked data at 320 to 480 px (including 402 x 874), light and dark. Pending the private release validation on the release commit.
DockNest 2.3.0
DockNest 2.3.0
Released 2026-10-22. Full changelog.
Summary
A redesign of the whole interface: one consistent type scale, layouts that fit phones through 4K screens, plain status labels and clear red alerts. No change to backups, restores or stored data.
What's new
None.
Improved
- Every page uses one type scale and one set of components. Cards side by side have the same height and their actions on one line. Layouts use 1 to 4 card columns from phone to large screens, and the content stays centred on very wide screens.
- Statuses are a small icon and a word instead of coloured pills. Blocked or failed states show a red panel with the reason and the next step, and blocked buttons look disabled.
- Tables have fixed, aligned columns with one line per row, and row actions are plain icons.
- The Update Center shows only the new version and its release date, a plain "improvements and fixes" line instead of chips, and matching cards for automatic checks and the host updater.
Fixed
- A failed job on the Overview was shown as a yellow notice; it is now a red alert with a link to the job.
- Dialogs no longer overflow on 390 px phones.
Security
No security changes.
Upgrade notes
From 2.2.2, use Update now in the Update Center, or scripts/upgrade.sh --version v2.3.0. No metadata migration; the interface changes only.
Known limits
Unchanged from 2.2.0.
Validation
Interface checks in the browser suites (mocked data, light and dark, 320 to 2560 px). Pending the private release validation on the release commit.