Jarek Krochmalski
bad04e0056
show Dockhand's own mark on its own container
2026-09-06 17:03:46 +05:30
Jarek Krochmalski
db2b18571c
refresh the app logo to a single SVG
2026-09-06 17:03:46 +05:30
Jarek Krochmalski
360c458144
test: restore DATA_DIR after fs-guard so it doesn't leak /app/data into later tests ( #1535 )
...
fs-guard.test.ts pins process.env.DATA_DIR=/app/data at module load (needed
before the fs-guard import) but never restored it. Under Bun's single-process
run this leaked into every later test file; selfhst-icons then did
mkdirSync('/app/data/icon-cache/...') and failed EACCES on CI, turning main red
in a file-order-dependent way. Save and restore DATA_DIR in an afterAll.
2026-09-06 15:43:05 +05:30
Jarek Krochmalski
049221ceff
release housekeeping and generated api spec
2026-09-02 15:52:45 +02:00
Jarek Krochmalski
e88975afc4
test connection on a saved environment without re-entering the token
2026-09-02 15:52:45 +02:00
Jarek Krochmalski
585d923e3c
post api stacks honors the target environment in the body
2026-09-02 15:52:45 +02:00
Jarek Krochmalski
52d99fa295
escape dollar signs in env values when generating a compose file from a container
2026-09-02 15:52:45 +02:00
Jarek Krochmalski
d03554c69d
populate environment variables again finds the repo env file
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
34ceb74dc1
clearer git permission errors that match the credential type
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
ae754b3140
large image scans no longer fail when the scanner log rotates
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
9a3c52374c
compose validate no longer flags a valid env_file
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
2d12085ae4
disable build cache no longer errors on deploy
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
4d09c9c76f
local-path backup destinations validate the configured path
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
46a137316f
faster incremental backups when multiple stacks share one repository
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
002f53ce78
optional stacks_dir flat layout for local stacks
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
3fa75c9702
drop the unused hawser stacks-dir column and layout
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
5af4e69eb2
tighten permission checks and input validation across the api
2026-09-02 15:52:44 +02:00
Jarek Krochmalski
53161a6718
pin esm-env as a direct dependency for reproducible installs
2026-08-27 19:48:35 +02:00
Jarek Krochmalski
ee4632a7b7
stacks page: env-var counts from sources, icon batching, and an in-order restart
2026-08-27 19:48:35 +02:00
Jarek Krochmalski
a9b1998aad
allow secret-less webhook triggers behind an env flag
2026-08-27 16:32:06 +02:00
Jarek Krochmalski
9a1f11c9b7
require the git permission for repository deploy/sync/test
2026-08-27 16:32:06 +02:00
Jarek Krochmalski
5359720a76
bump docker-compose to 5.5.0-r2 in the wolfi image
2026-08-27 16:32:05 +02:00
Jarek Krochmalski
cc48b1e14b
bump svelte to 5.56.10
2026-08-27 16:32:05 +02:00
Jarek Krochmalski
0816672222
harden authentication and authorization on the user API
2026-08-27 11:31:35 +02:00
Jarek Krochmalski
5adb374c0d
keepass secret provider fails closed when a group cannot be listed
2026-08-27 08:10:03 +02:00
Jarek Krochmalski
e7ee9b41c7
add the emergency relocate/reset-mfa scripts the tests exercise
2026-08-27 07:41:02 +02:00
Jarek Krochmalski
d34a7733f7
validate and canonicalize outbound request hosts
2026-08-27 07:34:38 +02:00
Jarek Krochmalski
0d516be4dd
sort by Disk I/O and Net I/O - the header cycles read/write and down/up
2026-08-27 07:34:38 +02:00
Jarek Krochmalski
b1e7518096
release housekeeping
2026-08-27 07:34:38 +02:00
Jarek Krochmalski
c7eb8542a1
pausing or resuming a backup schedule no longer clears the retention policy
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
e82b1aea89
optional Webhook column on the stacks list with a git stack's webhook id and copy-URL button
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
b04bc504f9
option to disable the session timeout
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
ef390e94ec
internal cleanups and build config
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
fdca208795
git stacks can now set a custom icon
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
58f712d432
environment API uses a write-only model for the tls key and hawser token
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
bf518f98aa
emergency script to relocate stack paths after moving DATA_DIR
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
9264a53a44
compose validate flags a service with no healthcheck and a defined-but-unused named volume
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
909e9934d3
compose generated from a container now captures network config and resource limits
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
bd42cfaa1b
coalesce concurrent secret-provider probes
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
fa1987add6
KeePassXC as a secret provider - pull secrets from a .kdbx via keepassxc-cli, bulk or inline refs
2026-08-27 07:34:37 +02:00
Jarek Krochmalski
674d80b178
release 1.0.44
2026-08-25 12:58:22 +02:00
Jarek Krochmalski
a4e2637ea5
release housekeeping
2026-08-25 05:42:29 +02:00
Jarek Krochmalski
d5d979aa5d
hide tls certificate fields for backends that never use tls
2026-08-25 05:42:29 +02:00
Jarek Krochmalski
730ad8ff82
fix the container backups tab crashing when a container has a mount
2026-08-23 19:00:40 +02:00
Jarek Krochmalski
8ae0b4367e
release housekeeping
2026-08-23 12:08:30 +02:00
Jarek Krochmalski
49d71c01b6
generate a compose file from any container - save as new or append to existing stack
2026-08-23 12:08:30 +02:00
Jarek Krochmalski
c71d066835
release housekeeping
2026-08-23 11:00:36 +02:00
Jarek Krochmalski
9a7ef9c12c
MQTT notification channel - publish events to a broker
2026-08-23 11:00:36 +02:00
Jarek Krochmalski
bc73e7ba84
ci: pin node to 24.18.1 in the openapi check so npm install builds better-sqlite3
2026-08-23 10:26:44 +02:00
Jarek Krochmalski
40524e0d8d
release housekeeping
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
4af255ebc9
clarify stack env-var api docs (git vs internal storage, secret masking)
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
4ba349113d
branch selector on git stack, with per-stack branch override
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
534ecf4564
fix switching an Infisical provider back to a static token
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
114f21385a
sort IPv6 subnets and addresses numerically instead of randomly
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
2791e8c36d
keep specific images from being pruned with a dockhand.prune=false label
2026-08-23 10:21:00 +02:00
Jarek Krochmalski
70491423dc
Pushover notifications can target specific devices
2026-08-23 10:20:59 +02:00
Jarek Krochmalski
7692758467
TLS backup repositories with a private CA and optional mutual TLS
2026-08-23 10:20:59 +02:00
Jarek Krochmalski
f6ffadbacb
stack and container icons - pick an icon per stack or per container (survives recreation), plus automatic app logos on containers
2026-08-23 10:20:59 +02:00
Jarek Krochmalski
30fb770a9f
compose validate: recognize socket proxies and add exposure/volume/deploy rules
2026-08-22 17:11:57 +02:00
Jarek Krochmalski
b165e4608a
branch selector on git stack, with per-stack branch override
2026-08-22 17:11:57 +02:00
Jarek Krochmalski
3795cecf50
git-branch-lookup: docblock says two guards, matching the code
2026-08-22 16:24:04 +02:00
Jarek Krochmalski
40f6076b8d
Proton Pass inline references accept vault and item names, not just ids (pass://vault/item/field)
2026-08-22 16:22:18 +02:00
Jarek Krochmalski
f1e4af3267
Infisical secret references now resolve to their value instead of the raw reference
2026-08-22 16:22:18 +02:00
Jarek Krochmalski
68821f4d92
branch selector on git stack, with per-stack branch override
2026-08-22 16:22:18 +02:00
Jarek Krochmalski
94f8f52f52
release housekeeping for 1.0.44
2026-08-22 16:22:18 +02:00
Jarek Krochmalski
0885e8245f
bump checkout action to v5 for node 24 runners
2026-08-22 09:27:23 +02:00
Jarek Krochmalski
9700412a8f
updated generate-changelog-page.ts
2026-08-22 09:25:42 +02:00
Jarek Krochmalski
aff8f25d2a
internal cleanups and build config
2026-08-22 09:10:20 +02:00
Jarek Krochmalski
5f9e6bde3c
add missing unit test suite
2026-08-22 09:09:50 +02:00
Jarek Krochmalski
7227b334f9
release housekeeping for 1.0.44
2026-08-22 09:09:42 +02:00
Jarek Krochmalski
e23936b4df
azure key vault as a secret provider (bulk pull or inline azurekv:// references)
2026-08-22 09:09:41 +02:00
Jarek Krochmalski
a760680b8d
detect newer version tags for pinned images and show them as a badge with release notes
2026-08-22 09:09:41 +02:00
Jarek Krochmalski
9977476b15
a compose stack with a restarting container shows a stop action instead of start
2026-08-22 09:09:30 +02:00
Jarek Krochmalski
e68fd2fc0e
1password deploys reuse the sdk client to cut api calls
2026-08-22 09:09:30 +02:00
Jarek Krochmalski
7d45fddad3
proton pass secrets resolve on headless hosts with no system keyring
2026-08-22 09:09:30 +02:00
Jarek Krochmalski
0b294973d8
switching an infisical provider back to a static token works again
2026-08-22 09:09:30 +02:00
Jarek Krochmalski
6f087a3c2a
direct-remote staging pulls the alpine helper image when it's missing
2026-08-22 09:09:30 +02:00
jarek
a485c8580b
detect newer version tags for pinned images and show them as a badge with release notes
2026-08-20 08:28:26 +02:00
jarek
8b67fc0662
editing a secret provider no longer wipes its stored token
2026-08-20 08:28:26 +02:00
jarek
b56e1ef7f9
Compose validate - a preflight linter & validator for compose files
2026-08-20 08:28:26 +02:00
jarek
f8bfd756ef
apply the containers:exec permission check to the websocket terminal path
2026-08-20 08:28:26 +02:00
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