Commit Graph
15748 Commits
Author SHA1 Message Date
Aditya Tripathi 7a3fcd37d5 fix(livewire): scope DatabaseProxyStopped to proxy fields, harden status trait
Clickhouse, Dragonfly, and Keydb still called syncData() inside the
DatabaseProxyStopped broadcast handler, clobbering in-progress edits to
name/description/credentials. Refresh only is_public/public_port/
public_port_timeout instead, matching the pattern used elsewhere.

Also null-guard HasDatabaseStatusInfo::getListeners() against an absent
Auth::user()/currentTeam(), add explicit return types on getListeners()
and render(), and convert inline comments in the SSL refresh test to a
PHPDoc block.
2026-05-21 10:24:49 +00:00
Aditya Tripathi e7e65831a7 fix(livewire): preserve wire:dirty across DB status broadcasts
The earlier refreshStatus fix kept user-typed values intact but Livewire still
absorbed deferred wire:model values into the snapshot on every broadcast-
triggered roundtrip, clearing the unsaved-changes indicator and making the form
look auto-saved. Move all status-derived display (DB URLs, SSL toggle/mode,
cert expiry) out of each DB General form into a sibling StatusInfo Livewire
component, so the form never roundtrips on broadcasts.

Shared scaffolding lives in App\Traits\HasDatabaseStatusInfo plus an x-database-
status-info Blade component, leaving each per-DB StatusInfo class as a ~20-50
line declaration of label, SSL mode options, and SSL save hooks. Parents
dispatch databaseUpdated from save methods so the sibling refreshes after writes.

Tests cover the architecture (no DB form subscribes to status broadcasts) and
the sibling's refresh-on-status-change behavior.
2026-05-21 08:31:08 +00:00
Aditya Tripathi 9aee01d5a0 Merge branch 'next' into fix/form-state 2026-05-21 00:49:29 +05:30
Aditya Tripathi b9f773c1d9 fix(livewire): stop broadcast handlers from wiping in-progress form input 2026-05-20 19:04:43 +00:00
Andras Bacsai 077c68e4c4 docs(readme): remove Context.dev sponsor 2026-05-20 16:44:18 +02:00
toanalien 9264f391cb fix(templates): address review feedback for hermes-agent template
- Remove top-level volumes block (Coolify auto-generates it)
- Remove redundant restart: unless-stopped (Coolify default)
- Rename hermes-agent.yaml to hermes-agent-with-webui.yaml
2026-05-20 12:04:26 +07:00
toanalien 597a2d806f fix(templates): correct image tags for hermes-agent and hermes-webui
Pin hermes-agent to sha-273ff5c (no semver tags on Docker Hub).
Fix hermes-webui tag from v0.51.92 to 0.51.92 (GHCR has no v prefix).
2026-05-20 01:05:14 +07:00
michalzard d8cf488449 chore(gitea-runner): bumped patch version
fix: reverted quote autoformat
2026-05-19 19:27:41 +02:00
toanalien 70c187ea40 fix(templates): add hermes-agent logo and mount agent-src read-only
Add official Hermes Agent logo (256x256 PNG from upstream repo).
Mount hermes-agent-src volume as read-only in webui container per
upstream recommendation (since v0.51.84).
2026-05-19 19:00:41 +07:00
toanalien b64968d503 fix(templates): pin image versions and fix magic variable for hermes-agent
Address PR review: pin Docker images to v0.14.0 and v0.51.92,
change SERVICE_FQDN to SERVICE_URL (generator auto-converts).
2026-05-19 18:55:11 +07:00
ShadowArcanist e7853656c3 fix(service): pin image to static version for open observe 2026-05-19 16:40:18 +05:30
Andras Bacsai 65c0c92c02 fix(destinations): handle empty and server-scoped destinations
Build the global destinations list from actual destination records so empty
servers do not render duplicate empty states. Allow creating Docker destinations
for a selected team server outside the global usable list, authorize swarm
creation correctly, and store discovered swarm network names from the selected
network. Add feature coverage for empty states, selected-server mounting, and
swarm destination creation.
2026-05-19 12:50:08 +02:00
Alexandru Furculita 978d46739d feat(service): add openobserve template
Adds OpenObserve as a one-click service template. OpenObserve is a
cloud-native observability platform for logs, metrics, traces, RUM and
session replays, positioned as a self-hosted alternative to Elasticsearch,
Splunk and Datadog.

- Uses the official open-source image (public.ecr.aws/zinclabs/openobserve)
- Wires admin password through Coolify's SERVICE_PASSWORD_* magic env
- Persists /data via a named volume
- Exposes port 5080 via SERVICE_URL_OPENOBSERVE_5080
- Opts out of telemetry by default (overridable via ZO_TELEMETRY)
- Adds /healthz healthcheck and the OpenObserve logo

Supersedes #6328, addressing the prior review feedback (drop the
deprecated version key, drop hardcoded container_name and restart
policy, switch to the magic password env, and use a named volume).
2026-05-19 12:26:09 +03:00
Andras Bacsai 49656aa1ed v4.1.0 (#9841) v4.1.0 2026-05-18 10:59:37 +02:00
Andras Bacsai a67cc1d3a9 docs(readme): fix PrivateAlps sponsor wording 2026-05-18 10:17:33 +02:00
Andras Bacsai 270e34fa71 chore(versions): bump helper and realtime images 2026-05-18 08:44:50 +02:00
Tam Nguyen bce0c51d37 fix: cloudflare-ddns 1.16.2 2026-05-18 15:42:31 +10:00
Khiet Tam Nguyen 9e9fc01b52 Merge branch 'next' into cloudflare-ddns 2026-05-18 15:04:55 +10:00
Tam Nguyen 7dd6d2b13c deps: bump cloudflare-ddns to v2.1.2 2026-05-18 14:52:15 +10:00
Khiet Tam Nguyen 919295e9ed Merge branch 'coollabsio:v4.x' into cloudflare-ddns 2026-05-18 14:48:42 +10:00
Mohmmad Qunibi 5b854d700e Merge branch 'next' into add-emqx-as-a-service-template 2026-05-17 10:25:54 +03:00
Andras Bacsai 6ceb444cf4 fix(docker): remove default nginx configs
Delete the packaged nginx config files after installing nginx so the
image uses the application-provided configuration.
2026-05-16 20:09:25 +02:00
Andras Bacsai 0917bb7b8e fix(docker): install patched nginx from official repository
Pin nginx to the official nginx.org Alpine mainline package in development and production images so patched releases can be installed consistently.
2026-05-16 19:06:39 +02:00
toanalien 8c0ecedda4 feat(templates): add Hermes Agent + WebUI one-click service
Two-container template: hermes-agent gateway plus the hermes-webui chat
UI. The WebUI is public-facing (gets the generated FQDN and password via
Coolify magic vars); the agent stays internal, sharing named volumes.
Hermes uses embedded SQLite, so no external database is needed.
2026-05-16 08:40:10 +02:00
Andras Bacsai bba0cd76d2 docs(readme): remove CubePath sponsor entry 2026-05-15 13:41:54 +02:00
Andras Bacsai fde500a347 fix(templates): require Docmost mail driver
Require MAIL_DRIVER to be set before Docmost starts and add a unit test to keep the compose template and generated service templates in sync.
2026-05-15 13:36:02 +02:00
Mohmmad Qunibi 3898860478 Merge branch 'next' into add-emqx-as-a-service-template 2026-05-14 16:42:03 +03:00
Andras Bacsai d1126c02a9 fix(deployments): filter generated compose service env vars
Exclude generated Docker Compose SERVICE_FQDN, SERVICE_URL, and SERVICE_NAME variables from runtime, build-time, and build arg environments so stale stored values cannot override generated service names for preview deployments.
2026-05-13 11:59:45 +02:00
Andras Bacsai a54e70b4e0 fix(deployments): skip registry image tag for previews
Only push the configured Docker registry image tag for production deployments, and cover preview and missing-tag cases with unit tests.
2026-05-13 11:49:15 +02:00
Andras Bacsai 52e60f1dcc Merge remote-tracking branch 'origin/next' into next 2026-05-13 10:56:44 +02:00
Andras Bacsai 7056a1cae1 chore(helper): bump railpack and mise versions 2026-05-13 10:50:50 +02:00
Andras Bacsai 4ff3e4b2be feat(deployments): track application configuration diffs (#10183) 2026-05-13 10:49:53 +02:00
Andras Bacsai 76c8defef3 fix(api-tokens): persist expiration warning state (#10184) 2026-05-13 10:43:50 +02:00
Andras Bacsai 1522c510cf fix(api-tokens): mark expiration warning after notification
Ensure failed token expiration warning notifications do not persist the warning marker, allowing the job to retry later.
2026-05-13 10:28:32 +02:00
Andras Bacsai df4d9f8069 fix(applications): use preview environment variable query
Call the preview environment variable relationship as a query when building the legacy configuration hash, and cover preview deployments with a regression test.
2026-05-13 10:28:18 +02:00
Andras Bacsai 3911a0305c fix(api-tokens): persist expiration warning state
Track when expiration warnings are sent on personal access tokens so repeated job runs or cache flushes do not send duplicate notifications.
2026-05-13 10:11:40 +02:00
Andras Bacsai 0ecd488d6a fix(applications): refresh pending configuration changes
Dispatch configuration change events after saving application source and advanced settings, and refresh the configuration checker before showing redeploy diffs.
2026-05-13 10:04:17 +02:00
Andras Bacsai f8849aba73 feat(deployments): track application configuration diffs
Store deployment configuration snapshots on application deployment queues and compare them against the current application state. Surface grouped pending changes in the configuration checker and use build-impact diffs to decide when an existing image can skip the build step.
2026-05-13 09:58:58 +02:00
Andras Bacsai f098895abf style(navbar): refine collapsed sidebar spacing
Adjust sidebar icon sizing, collapsed menu dimensions, and main layout padding for improved alignment. Also tidy related view spacing and formatting.
2026-05-12 11:07:19 +02:00
Mr. Kiter dd19d81e49 Update mealie.yaml 2026-05-12 09:22:15 +02:00
Mr. Kiter 5267b0ad82 Update grocy.yaml 2026-05-12 09:10:44 +02:00
Mr. Kiter b678b58524 Update audiobookshelf.yaml 2026-05-12 09:09:36 +02:00
Mr. Kiter ea6c63edcf Update jellyfin.yaml 2026-05-12 08:58:05 +02:00
Mr. Kiter 655e9f4685 Update ryot.yaml 2026-05-12 08:34:57 +02:00
Andras Bacsai 9590f144bd feat(applications): add configurable stop grace period (#9746) 2026-05-11 23:54:39 +02:00
Andras Bacsai 26cdd6e198 style(teams): update switch team button styling 2026-05-11 23:51:20 +02:00
Andras Bacsai 63c2d31ca0 feat(applications): add configurable stop grace period
Add centralized stop grace period resolution for application settings and use it across manual stops, preview stops, and deployments. Validate the Livewire advanced setting against shared min/max constants and cover persistence, fillable creation, and fallback behavior with tests.
2026-05-11 23:43:53 +02:00
Andras Bacsai d1220895d9 Merge remote-tracking branch 'origin/next' into feat/configurable-stop-grace-period 2026-05-11 23:20:31 +02:00
Andras Bacsai 6f3bb47682 fix(applications): decode custom nginx API payloads (#10067) 2026-05-11 22:24:55 +02:00
Andras Bacsai a42613168d fix(applications): store custom nginx config from API correctly
Decode base64 custom_nginx_configuration before model assignment so it is not double-encoded, and allow null values when clearing the setting. Add API coverage for create, update, invalid input, and clearing behavior.
2026-05-11 22:22:01 +02:00