This website requires JavaScript.
e82b1aea89
optional Webhook column on the stacks list with a git stack's webhook id and copy-URL button
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
b04bc504f9
option to disable the session timeout
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
ef390e94ec
internal cleanups and build config
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
fdca208795
git stacks can now set a custom icon
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
58f712d432
environment API uses a write-only model for the tls key and hawser token
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
bf518f98aa
emergency script to relocate stack paths after moving DATA_DIR
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
9264a53a44
compose validate flags a service with no healthcheck and a defined-but-unused named volume
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
909e9934d3
compose generated from a container now captures network config and resource limits
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
bd42cfaa1b
coalesce concurrent secret-provider probes
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
fa1987add6
KeePassXC as a secret provider - pull secrets from a .kdbx via keepassxc-cli, bulk or inline refs
Jarek Krochmalski
2026-08-27 07:34:37 +02:00
674d80b178
release 1.0.44
Jarek Krochmalski
2026-08-25 12:58:22 +02:00
a4e2637ea5
release housekeeping
Jarek Krochmalski
2026-08-25 05:42:29 +02:00
d5d979aa5d
hide tls certificate fields for backends that never use tls
Jarek Krochmalski
2026-08-25 05:42:29 +02:00
730ad8ff82
fix the container backups tab crashing when a container has a mount
Jarek Krochmalski
2026-08-23 19:00:40 +02:00
8ae0b4367e
release housekeeping
Jarek Krochmalski
2026-08-23 12:08:30 +02:00
49d71c01b6
generate a compose file from any container - save as new or append to existing stack
Jarek Krochmalski
2026-08-23 12:08:30 +02:00
c71d066835
release housekeeping
Jarek Krochmalski
2026-08-23 11:00:36 +02:00
9a7ef9c12c
MQTT notification channel - publish events to a broker
Jarek Krochmalski
2026-08-23 11:00:36 +02:00
bc73e7ba84
ci: pin node to 24.18.1 in the openapi check so npm install builds better-sqlite3
Jarek Krochmalski
2026-08-23 10:26:44 +02:00
40524e0d8d
release housekeeping
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
4af255ebc9
clarify stack env-var api docs (git vs internal storage, secret masking)
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
4ba349113d
branch selector on git stack, with per-stack branch override
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
534ecf4564
fix switching an Infisical provider back to a static token
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
114f21385a
sort IPv6 subnets and addresses numerically instead of randomly
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
2791e8c36d
keep specific images from being pruned with a dockhand.prune=false label
Jarek Krochmalski
2026-08-23 10:21:00 +02:00
70491423dc
Pushover notifications can target specific devices
Jarek Krochmalski
2026-08-23 10:20:59 +02:00
7692758467
TLS backup repositories with a private CA and optional mutual TLS
Jarek Krochmalski
2026-08-23 10:20:59 +02:00
f6ffadbacb
stack and container icons - pick an icon per stack or per container (survives recreation), plus automatic app logos on containers
Jarek Krochmalski
2026-08-23 10:20:59 +02:00
30fb770a9f
compose validate: recognize socket proxies and add exposure/volume/deploy rules
Jarek Krochmalski
2026-08-22 17:11:57 +02:00
b165e4608a
branch selector on git stack, with per-stack branch override
Jarek Krochmalski
2026-08-22 17:11:57 +02:00
3795cecf50
git-branch-lookup: docblock says two guards, matching the code
Jarek Krochmalski
2026-08-22 16:24:04 +02:00
40f6076b8d
Proton Pass inline references accept vault and item names, not just ids (pass://vault/item/field)
Jarek Krochmalski
2026-08-22 16:22:18 +02:00
f1e4af3267
Infisical secret references now resolve to their value instead of the raw reference
Jarek Krochmalski
2026-08-22 16:22:18 +02:00
68821f4d92
branch selector on git stack, with per-stack branch override
Jarek Krochmalski
2026-08-22 16:22:18 +02:00
94f8f52f52
release housekeeping for 1.0.44
Jarek Krochmalski
2026-08-22 16:22:18 +02:00
28bb291c32
feat: add branch selection to Git Stack modal with branches API endpoint (#1343 )
Bartosz S.
2026-08-22 10:20:43 +02:00
0885e8245f
bump checkout action to v5 for node 24 runners
Jarek Krochmalski
2026-08-22 09:27:23 +02:00
9700412a8f
updated generate-changelog-page.ts
Jarek Krochmalski
2026-08-22 09:25:42 +02:00
aff8f25d2a
internal cleanups and build config
Jarek Krochmalski
2026-08-22 09:10:20 +02:00
5f9e6bde3c
add missing unit test suite
Jarek Krochmalski
2026-08-22 09:09:50 +02:00
7227b334f9
release housekeeping for 1.0.44
Jarek Krochmalski
2026-08-22 09:09:42 +02:00
e23936b4df
azure key vault as a secret provider (bulk pull or inline azurekv:// references)
Jarek Krochmalski
2026-08-22 09:09:41 +02:00
a760680b8d
detect newer version tags for pinned images and show them as a badge with release notes
Jarek Krochmalski
2026-08-22 09:09:41 +02:00
9977476b15
a compose stack with a restarting container shows a stop action instead of start
Jarek Krochmalski
2026-08-22 09:09:30 +02:00
e68fd2fc0e
1password deploys reuse the sdk client to cut api calls
Jarek Krochmalski
2026-08-22 09:09:30 +02:00
7d45fddad3
proton pass secrets resolve on headless hosts with no system keyring
Jarek Krochmalski
2026-08-22 09:09:30 +02:00
0b294973d8
switching an infisical provider back to a static token works again
Jarek Krochmalski
2026-08-22 09:09:30 +02:00
6f087a3c2a
direct-remote staging pulls the alpine helper image when it's missing
Jarek Krochmalski
2026-08-22 09:09:30 +02:00
ca2cb80c3f
fix docker stream backpressure (#1445 )
StefanSa
2026-08-22 07:58:49 +02:00
a485c8580b
detect newer version tags for pinned images and show them as a badge with release notes
jarek
2026-08-20 08:28:26 +02:00
8b67fc0662
editing a secret provider no longer wipes its stored token
jarek
2026-08-20 08:28:26 +02:00
b56e1ef7f9
Compose validate - a preflight linter & validator for compose files
jarek
2026-08-20 08:28:26 +02:00
f8bfd756ef
apply the containers:exec permission check to the websocket terminal path
jarek
2026-08-20 08:28:26 +02:00
f50c3e52f3
registry auth survives an http to https token realm redirect behind a TLS proxy
jarek
2026-08-20 08:28:26 +02:00
3d208e6f22
release housekeeping
jarek
2026-08-20 08:28:25 +02:00
99b1672be5
detect newer version tags for pinned images and show them as a badge with release notes
jarek
2026-08-19 14:26:45 +02:00
29795c074c
Bitwarden Secrets Manager as a secret provider via an operator-installed bws client
jarek
2026-08-19 14:26:45 +02:00
2584e52852
Compose validate - a preflight linter & validator for compose files
jarek
2026-08-19 14:26:45 +02:00
bc91e71075
registry auth no longer fails when the token realm redirects http to https behind a TLS-terminating proxy
jarek
2026-08-19 14:26:45 +02:00
7e2f813438
security: update Go to 1.25.13 (8 HIGH stdlib CVEs) and update docker-compose to 5.5.0
jarek
2026-08-19 14:26:45 +02:00
5f401602bb
release housekeeping
jarek
2026-08-19 14:26:45 +02:00
64aeee6c3e
ci: add OpenAPI drift-gate workflow (follow-up to #1342 ) (#1429 )
Björn Strausmann
2026-08-19 10:43:23 +02:00
adabaffb23
API: validating a stack's env vars no longer drops the environment id
jarek
2026-08-18 10:05:37 +02:00
e9b6bf48a7
hint that op:// and pass:// references only resolve in the stack env panel
jarek
2026-08-18 10:05:37 +02:00
e73c7b3d68
backup helper wait uses an unbounded deadline
jarek
2026-08-18 10:05:37 +02:00
f7ca18fa0c
container update notifications now fire properly
jarek
2026-08-18 10:05:37 +02:00
6fe735ad97
git stacks accept a compose/env path with a leading slash
jarek
2026-08-18 10:05:36 +02:00
9b6b6a9d3e
Infisical: the project ID is optional when using a service token - it's taken from the token
jarek
2026-08-18 10:05:36 +02:00
ba1a9588b9
detect newer version tags for pinned images and show them as a badge with release notes
jarek
2026-08-18 10:05:36 +02:00
088c7dc343
OpenAPI spec at /api/docs with a Scalar viewer, opt-in via FEAT_API_DOCS
jarek
2026-08-18 10:05:36 +02:00
1ad16a7c2a
Compose validate - a preflight linter & validator for compose files
jarek
2026-08-18 10:05:36 +02:00
6fab8ec70a
release housekeeping
jarek
2026-08-18 10:05:36 +02:00
5c0fa6aa91
add the missing OpenAPI generator (scripts/generate-openapi.ts + scripts/openapi) so a clean checkout builds
Jarek Krochmalski
2026-08-18 05:12:37 +02:00
7a007bd623
feat(notifications): add Zabbix history.push provider (#1419 )
Sergei Nesterkov
2026-08-17 10:24:47 -03:00
8f29216701
Update README.md
Jarek Krochmalski
2026-08-17 13:26:30 +02:00
0547ca1970
adopting a stack over the API rejects a compose path not on Dockhand's filesystem
jarek
2026-08-17 09:50:35 +02:00
88fa9bcab5
backup notifications show a real title and message instead of "undefined"
jarek
2026-08-17 09:50:35 +02:00
d7c0c88794
concurrent git syncs sharing an SSH credential no longer fail on a missing temp key
jarek
2026-08-17 09:50:35 +02:00
da26f7f764
OpenAPI spec at /api/docs with a Scalar viewer, opt-in via FEAT_API_DOCS
jarek
2026-08-17 09:50:34 +02:00
ba8670af66
detect newer version tags for pinned images and show them as a badge with release notes
jarek
2026-08-17 09:50:34 +02:00
1740fdccfa
Infisical: Universal Auth (Machine Identity) as well as a static token
jarek
2026-08-17 09:50:34 +02:00
ef6c22a6ea
Proton Pass as a secret provider via an operator-installed pass-cli client
jarek
2026-08-17 09:50:34 +02:00
95fd26656b
Bitwarden Secrets Manager as a secret provider via an operator-installed bws client
jarek
2026-08-17 09:50:34 +02:00
ff006965ce
release housekeeping
jarek
2026-08-17 09:50:34 +02:00
593659f652
Add Bitwarden Secrets Manager provider via external bws (#1416 )
StefanSa
2026-08-17 08:15:36 +02:00
3b43946a38
container update no longer fails on Podman for containers using userns_mode: keep-id
jarek
2026-08-16 08:15:30 +02:00
0a08c94287
optional indentation guides in the compose/YAML editor
jarek
2026-08-16 08:15:30 +02:00
cda446a232
release housekeeping
jarek
2026-08-16 08:15:30 +02:00
19548772df
reject duplicate secret provider name with a 400
jarek
2026-08-14 15:59:11 +02:00
5fef45e003
validate secret provider config before save
jarek
2026-08-14 14:01:36 +02:00
344ad4aadc
external vault providers - live probing secrets when editing stack
jarek
2026-08-14 10:39:08 +02:00
9a416e165f
point the compose timeout error at COMPOSE_TIMEOUT
jarek
2026-08-14 09:35:37 +02:00
a38e973155
grouped container logs now show one merged timeline sorted by time
jarek
2026-08-14 09:35:37 +02:00
a89a6e3bd4
multi-arch images no longer show false "update available"
jarek
2026-08-14 09:35:36 +02:00
32a86129d0
stack secrets from external providers (1Password, HashiCorp Vault, Infisical and Doppler)
jarek
2026-08-14 09:35:36 +02:00
78d67d2dc1
release housekeeping
jarek
2026-08-14 09:35:36 +02:00
cd5d2651b3
backfill missing 0009/0010 drizzle snapshots for both dialects
jarek
2026-08-13 13:53:12 +02:00
959a426507
internal cleanups and build config
jarek
2026-08-13 10:20:30 +02:00
3c75bd4919
backup engine internals - restic timeout and stack-dir capture
jarek
2026-08-13 10:20:30 +02:00
610e46dc19
read-side backup snapshot endpoints use job polling
jarek
2026-08-13 10:20:30 +02:00