jarek
|
f50c3e52f3
|
registry auth survives an http to https token realm redirect behind a TLS proxy
|
2026-08-20 08:28:26 +02:00 |
|
jarek
|
3d208e6f22
|
release housekeeping
|
2026-08-20 08:28:25 +02:00 |
|
jarek
|
99b1672be5
|
detect newer version tags for pinned images and show them as a badge with release notes
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
29795c074c
|
Bitwarden Secrets Manager as a secret provider via an operator-installed bws client
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
2584e52852
|
Compose validate - a preflight linter & validator for compose files
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
bc91e71075
|
registry auth no longer fails when the token realm redirects http to https behind a TLS-terminating proxy
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
7e2f813438
|
security: update Go to 1.25.13 (8 HIGH stdlib CVEs) and update docker-compose to 5.5.0
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
5f401602bb
|
release housekeeping
|
2026-08-19 14:26:45 +02:00 |
|
jarek
|
adabaffb23
|
API: validating a stack's env vars no longer drops the environment id
|
2026-08-18 10:05:37 +02:00 |
|
jarek
|
e9b6bf48a7
|
hint that op:// and pass:// references only resolve in the stack env panel
|
2026-08-18 10:05:37 +02:00 |
|
jarek
|
e73c7b3d68
|
backup helper wait uses an unbounded deadline
|
2026-08-18 10:05:37 +02:00 |
|
jarek
|
f7ca18fa0c
|
container update notifications now fire properly
|
2026-08-18 10:05:37 +02:00 |
|
jarek
|
6fe735ad97
|
git stacks accept a compose/env path with a leading slash
|
2026-08-18 10:05:36 +02:00 |
|
jarek
|
9b6b6a9d3e
|
Infisical: the project ID is optional when using a service token - it's taken from the token
|
2026-08-18 10:05:36 +02:00 |
|
jarek
|
ba1a9588b9
|
detect newer version tags for pinned images and show them as a badge with release notes
|
2026-08-18 10:05:36 +02:00 |
|
jarek
|
088c7dc343
|
OpenAPI spec at /api/docs with a Scalar viewer, opt-in via FEAT_API_DOCS
|
2026-08-18 10:05:36 +02:00 |
|
jarek
|
1ad16a7c2a
|
Compose validate - a preflight linter & validator for compose files
|
2026-08-18 10:05:36 +02:00 |
|
jarek
|
6fab8ec70a
|
release housekeeping
|
2026-08-18 10:05:36 +02:00 |
|
Jarek Krochmalski
|
5c0fa6aa91
|
add the missing OpenAPI generator (scripts/generate-openapi.ts + scripts/openapi) so a clean checkout builds
|
2026-08-18 05:12:37 +02:00 |
|
jarek
|
0547ca1970
|
adopting a stack over the API rejects a compose path not on Dockhand's filesystem
|
2026-08-17 09:50:35 +02:00 |
|
jarek
|
88fa9bcab5
|
backup notifications show a real title and message instead of "undefined"
|
2026-08-17 09:50:35 +02:00 |
|
jarek
|
d7c0c88794
|
concurrent git syncs sharing an SSH credential no longer fail on a missing temp key
|
2026-08-17 09:50:35 +02:00 |
|
jarek
|
da26f7f764
|
OpenAPI spec at /api/docs with a Scalar viewer, opt-in via FEAT_API_DOCS
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
ba8670af66
|
detect newer version tags for pinned images and show them as a badge with release notes
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
1740fdccfa
|
Infisical: Universal Auth (Machine Identity) as well as a static token
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
ef6c22a6ea
|
Proton Pass as a secret provider via an operator-installed pass-cli client
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
95fd26656b
|
Bitwarden Secrets Manager as a secret provider via an operator-installed bws client
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
ff006965ce
|
release housekeeping
|
2026-08-17 09:50:34 +02:00 |
|
jarek
|
3b43946a38
|
container update no longer fails on Podman for containers using userns_mode: keep-id
|
2026-08-16 08:15:30 +02:00 |
|
jarek
|
0a08c94287
|
optional indentation guides in the compose/YAML editor
|
2026-08-16 08:15:30 +02:00 |
|
jarek
|
cda446a232
|
release housekeeping
|
2026-08-16 08:15:30 +02:00 |
|
jarek
|
19548772df
|
reject duplicate secret provider name with a 400
|
2026-08-14 15:59:50 +02:00 |
|
jarek
|
5fef45e003
|
validate secret provider config before save
|
2026-08-14 14:01:36 +02:00 |
|
jarek
|
344ad4aadc
|
external vault providers - live probing secrets when editing stack
|
2026-08-14 10:40:02 +02:00 |
|
jarek
|
9a416e165f
|
point the compose timeout error at COMPOSE_TIMEOUT
|
2026-08-14 09:35:37 +02:00 |
|
jarek
|
a38e973155
|
grouped container logs now show one merged timeline sorted by time
|
2026-08-14 09:35:37 +02:00 |
|
jarek
|
a89a6e3bd4
|
multi-arch images no longer show false "update available"
|
2026-08-14 09:35:36 +02:00 |
|
jarek
|
32a86129d0
|
stack secrets from external providers (1Password, HashiCorp Vault, Infisical and Doppler)
|
2026-08-14 09:35:36 +02:00 |
|
jarek
|
78d67d2dc1
|
release housekeeping
|
2026-08-14 09:35:36 +02:00 |
|
jarek
|
cd5d2651b3
|
backfill missing 0009/0010 drizzle snapshots for both dialects
|
2026-08-13 13:53:12 +02:00 |
|
jarek
|
959a426507
|
internal cleanups and build config
|
2026-08-13 10:20:30 +02:00 |
|
jarek
|
3c75bd4919
|
backup engine internals - restic timeout and stack-dir capture
|
2026-08-13 10:20:30 +02:00 |
|
jarek
|
610e46dc19
|
read-side backup snapshot endpoints use job polling
|
2026-08-13 10:20:30 +02:00 |
|
jarek
|
315c795058
|
container update no longer fails on Podman when CPU limits are set
|
2026-08-13 10:20:30 +02:00 |
|
jarek
|
f1a3311c90
|
start, stop or restart on Hawser updates its files on the remote host, not only on redeploy
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
cc0d50913a
|
updating a compose file over the API now saves it, not just deploys it
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
16ee5d82b9
|
reopening the MFA setup screen while MFA is enabled no longer wipes the secret and backup codes
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
ce93e92f6e
|
support caddy-docker-proxy labels
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
c91f38eddf
|
upload a Docker image .tar through the UI (docker load) for air-gapped hosts
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
f43736d94a
|
stack secrets from external providers (1Password, HashiCorp Vault, Infisical and Doppler)
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
d7f435dd5f
|
release housekeeping
|
2026-08-13 10:20:29 +02:00 |
|
jarek
|
905c4a004d
|
persist restic cache and backup restore fixes
|
2026-08-09 13:46:03 +02:00 |
|
jarek
|
091adfca35
|
remove backup journal, stop-recovery, and verify modal (deleted upstream)
|
2026-08-09 10:35:15 +02:00 |
|
jarek
|
da8c83e20e
|
internal cleanups and build config
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
95ee76bf97
|
backup engine internals - streaming, timeouts, typed snapshot layout, volume keys, route guards
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
c33c404259
|
reusable snapshot header, field-label, and load-progress UI components
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
16451d95d7
|
improved restic repository operations log (prune, check, repair index etc.)
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
89b260758e
|
more room between settings/editor content and the scrollbar
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
dab6797847
|
dashboard pending-update count now matches the containers list
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
3859888da6
|
deleting a stack shows which folders will be removed, with a choice to keep/delete folders
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
4375f42415
|
oidc login: fall back to trailing-slash discovery url
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
045adf0cf3
|
fixed an LDAP filter parsing issue that could break group-based role assignment with some AD DNs
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
4e15c2677c
|
dedupe duplicate mount points when recreating a container
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
d33185d1fa
|
container updates respect the new image's command/entrypoint
|
2026-08-09 10:31:28 +02:00 |
|
jarek
|
1c1d7979d7
|
activity log times now honor the configured timezone
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
8f47eef1b7
|
GitLab and Harbor registries no longer report a misleading auth error when browsing
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
b287cee31f
|
registry browser shows tag size and date for self-hosted registries, loaded on expand
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
5f8fc71c73
|
backup volume picker shows every bind mount when two containers share a container path
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
7bb688197a
|
Google Cloud backup destinations now use a service-account JSON key
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
019bea222e
|
S3 backup destinations take an AWS region with a region quick-pick
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
3d1b383ad7
|
snapshots from another Dockhand instance sharing the repo now appear as restorable orphans
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
5adac5e19e
|
a stack restored to new locations always keeps its compose file and stays internal
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
bd06b340c5
|
direct remote environments - remote stacks dir configurable, for putting the whole stack onto the remote
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
86ef3f743b
|
configurable default homepage
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
1cec7d0814
|
release housekeeping
|
2026-08-09 10:31:27 +02:00 |
|
jarek
|
a115a5f539
|
release housekeeping for 1.0.40
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
188331a398
|
bump docker-compose to 5.3.1-r3
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
31e19b57b5
|
center container, stack, image and network modals with consistent margins
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
766a206055
|
header clock falls back to the default timezone instead of utc
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
2532c69d4a
|
default pangolin public urls to https from the ssl label
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
6a6e82a481
|
reach own docker daemon over tcp on socket-proxy setups; re-run host detection when an environment is added or edited; keep scanner on the host socket
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
0a9d4ad10f
|
validate git repo urls and refs, require a secret for webhook triggers, tidy internal endpoint comments
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
c18ee21a66
|
git stack source badge with forge-aware icons and commit hash
|
2026-07-31 10:10:56 +02:00 |
|
jarek
|
9bc4eaa47b
|
small ui polish: loading state, relative timestamps, log-marker formatting, wider tooltips, type tidy-ups
|
2026-07-31 10:10:55 +02:00 |
|
jarek
|
8a32bc377d
|
backups ui: group repo snapshots in a datagrid, gate cancel when unstoppable, relative timestamps
|
2026-07-31 10:10:55 +02:00 |
|
jarek
|
e3c07f32da
|
backup engine fixes: shared-repo unlock, non-root uid reads, lock release, local-path repo, backblaze key id
|
2026-07-31 10:10:55 +02:00 |
|
jarek
|
e700b5b6aa
|
restore reproduces the stack as an internal stack with its secrets
|
2026-07-31 10:10:55 +02:00 |
|
jarek
|
25f10616a5
|
exclude docker sockets and host system paths from volume backups
|
2026-07-31 10:10:55 +02:00 |
|
jarek
|
49809865dc
|
1.0.39
|
2026-07-26 10:27:12 +02:00 |
|
jarek
|
123e04d17f
|
1.0.38
|
2026-07-25 08:45:12 +02:00 |
|
jarek
|
64b6dcd744
|
1.0.38
|
2026-07-25 08:41:01 +02:00 |
|
jarek
|
c718ac9a84
|
1.0.37
|
2026-07-11 15:31:52 +02:00 |
|
jarek
|
685132ff89
|
1.0.36
|
2026-06-27 15:15:54 +02:00 |
|
jarek
|
ce12d7ae9f
|
1.0.35
|
2026-06-19 08:21:22 +02:00 |
|
jarek
|
efb634701c
|
1.0.34
|
2026-06-17 08:21:38 +02:00 |
|
jarek
|
83c3a5ea09
|
1.0.33
|
2026-06-15 14:56:51 +02:00 |
|
Jarek Krochmalski
|
d465ecfe96
|
readme and screenshots
|
2026-06-08 18:08:42 +02:00 |
|
jarek
|
3cbcfa3cdb
|
1.0.32
|
2026-06-06 16:18:05 +02:00 |
|
jarek
|
00bd09df55
|
1.0.31
|
2026-05-30 12:23:36 +02:00 |
|
jarek
|
c8b3acc07e
|
1.0.30
|
2026-05-30 08:42:21 +02:00 |
|