Commit Graph
73 Commits
Author SHA1 Message Date
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 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
Björn Strausmann 36dac8b030 refactor(stacks): plumb sourceType through requireComposeFile to avoid redundant lookup
startStack, restartStack, stopStack, and downStack each ran a separate
getStackSource query just to determine isGitStack for useOverrideFile,
even though requireComposeFile -> getStackComposeFile already looks up
the same stack_sources record.

Return sourceType from getStackComposeFile (GetComposeFileResult) and
requireComposeFile (RequireComposeResult), and have all four callers
read result.sourceType instead of querying the database again. No
behavior change: useOverrideFile is still set to true exactly when the
stack's source type is 'git'.
2026-07-31 04:58:47 +02:00
Björn Strausmann 144a73a10a fix(stacks): apply env override file on stop/down for git stacks (#1313)
startStack and restartStack compute isGitStack and pass useOverrideFile
accordingly, so executeLocalCompose writes .env.dockhand with the DB
non-secret overrides before invoking docker compose. stopStack and
downStack never set this option, so whenever a .env file exists in the
stack's working directory (e.g. committed alongside compose.yaml in a
git stack), the legacy shell-env fallback in executeLocalCompose is
suppressed and .env.dockhand is never written or attached via
--env-file. Any required variable that only exists as a Dockhand panel
override then fails interpolation on stop/down, even though the same
stack deploys and starts successfully.

Mirror startStack/restartStack: compute isGitStack from the stack
source and pass useOverrideFile through in both operations.
2026-07-31 04:58:47 +02:00
jarek 49809865dc 1.0.39 2026-07-26 10:27: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
Pascal GUINETandClaude Opus 4.8 aa45be6844 SYS-11240 Address review feedback on Harbor catalog/search fallback
- isHarborRegistry: derive scheme and port from the registry URL via
  parseRegistryUrl instead of hardcoding https:// so HTTP-only mirrors and
  non-443 ports are detected (same scheme handling as getRegistryAuthHeader).
- isHarborRegistry: only cache the detection result when a definitive answer
  was obtained; a transient network error no longer pins "not Harbor" for the
  whole TTL and keeps returning _catalog 403s after Harbor recovers.
- getHarborBasicAuth: trim username/password (pasted credentials with trailing
  whitespace silently broke Basic auth).
- harborListRepositories: implement real cross-project pagination for the
  no-orgPath case (enumerate every project and all repos, paginate the
  flattened list) so >100 projects / >100 repos no longer truncate silently
  with a hardcoded hasMore=false.
- harborSearchRepositories: sanitize the search term against Harbor's query
  grammar (, = ~ ( )) so special characters can't break or alter the q filter;
  paginate the project list as well.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-16 09:08:46 +02:00
Pascal GUINETandClaude Opus 4.6 0eaf52fa66 SYS-11240 Translate all code comments from French to English
Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-16 09:08:46 +02:00
Pascal GUINETandClaude Opus 4.6 eb5cf32d68 Add Harbor fallback for catalog and search endpoints
Harbor denies access to the V2 _catalog endpoint for robot accounts
(scope registry:catalog:* returns an empty JWT). This adds automatic
Harbor detection and falls back to the native Harbor project API
(/api/v2.0/projects/{name}/repositories) for both catalog listing
and image search.

- Detect Harbor via WWW-Authenticate header + /api/v2.0/ping (cached 5min)
- List repositories through Harbor project API with pagination
- Search repositories using Harbor's q=name=~ filter
- Transparent fallback: no configuration change required

Fixes #360

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-06-16 09:08:46 +02:00
jarek 83c3a5ea09 1.0.33 2026-06-15 14:56:51 +02:00
David Weston fd9b18ea31 Explain choice of default value 2026-06-07 20:03:34 +02:00
David Weston 085f03c178 Revert default value 2026-06-07 20:03:34 +02:00
undirectlookable b7a8cca387 feat(notifications): add Bark push support
Add Bark as a supported Apprise notification protocol.

Supported URL formats:
- bark://bark_key uses the official Bark server at https://api.day.app/
- bark://host/bark_key uses a custom Bark server over HTTP
- barks://host/bark_key uses a custom Bark server over HTTPS

Bark notifications are sent with POST JSON payloads containing the device key, title, and body. The notification settings modal now
lists Bark examples in the Apprise URL placeholder and support text.
2026-06-06 17:04:59 +02:00
jarek 3cbcfa3cdb 1.0.32 2026-06-06 16:18:05 +02:00
jarek c8b3acc07e 1.0.30 2026-05-30 08:42:21 +02:00
jarek e7100f8926 1.0.29 2026-05-17 08:02:31 +02:00
jarek 002d969a5d 1.0.28 2026-05-09 09:55:18 +02:00
jarek 7e3797cbfe 1.0.27 2026-04-26 08:01:32 +02:00
Ivan Kara ccfda4c054 Adjust uploaded files permission 2026-04-19 18:56:01 +02:00
Sebastiaan Lokhorst 28a6211457 Add Apprise workflows:// notification format
For sending messages to e.g. Microsoft Teams
2026-04-19 16:44:41 +02:00
Dennis Braun 7c123833b5 fix: avoid duplicate volume binds during recreate 2026-04-19 16:26:56 +02:00
YewFence a1def17750 chore: delete the unnecessary functions called 2026-04-19 16:22:01 +02:00
YewFence 94657735fb feat: mirror Dockhand's ExtraHosts into scanner and self-update sidecar containers
Add `extraHosts` option to `runContainer` and `runContainerWithStreaming` so arbitrary `HostConfig.ExtraHosts` entries can be passed when spawning containers.

Expose `getOwnExtraHosts()` from `host-path.ts` and forward the cached entries into scanner and self-updater containers, ensuring custom host aliases (e.g. internal registry hostnames) are available inside those sidecars without additional user configuration.
2026-04-19 16:22:01 +02:00
Tim Huge d10f6dfd6d Fix: Remove Telegram link preview 2026-04-19 15:57:52 +02:00
jarek aaaf252d4c Bearer token authentication fails with enterprise license active 2026-04-19 10:12:59 +02:00
jarek b8f06426e3 option to delete associated volumes when removing a stack (#655) 2026-04-19 09:39:42 +02:00
jarek 0af1ee6eb2 Gotify, ntfy, Pushover, and webhook notifications missing environment name (#943) 2026-04-19 09:39:03 +02:00
jarek ac19a67cce Bearer token authentication fails with enterprise license active 2026-04-19 09:35:32 +02:00
jarek 380fcc34ec scheduled image prune notifications missing environment name (#770) 2026-04-19 09:31:38 +02:00
jarek afee09866d v1.0.25 2026-04-18 08:34:20 +02:00
yokkkoso c210ef0a8e feat: support telegram topics in supergroups 2026-04-08 06:12:03 +02:00
jarek 7f26c0a585 v1.0.24 2026-04-03 18:32:46 +02:00
jarek 0bb10cabb9 v1.0.23 2026-04-03 11:51:42 +02:00
jarek b55e1e5aad v1.0.22 2026-03-21 14:29:30 +01:00
jarek 55f3101a19 v1.0.21 2026-03-13 08:22:46 +01:00
Jarek Krochmalski bcd10c1407 1.0.20 2026-03-03 12:18:17 +01:00
Jarek Krochmalski c26fa2d10f 1.0.20 2026-03-03 10:17:41 +01:00
Matt Boris d51bfb0d60 fix: cap docker API version (fixes #679) 2026-03-03 07:12:56 +01:00
jarek 5527d19198 v1.0.20 2026-03-02 13:10:03 +01:00
jarek 2829e7c0e9 v1.0.20 2026-03-02 10:54:30 +01:00
jarek 1066ce9eb1 v1.0.20 2026-03-02 10:41:42 +01:00
jarek 9c451aedf9 v1.0.19 2026-03-02 07:59:58 +01:00
jarek 4b430340db 1.0.18 2026-02-16 16:19:55 +01:00