Commit Graph
100 Commits
Author SHA1 Message Date
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