Andras Bacsai
e2c2180f4f
fix(dev): support root bind mounts and LAN Vite access
...
Keep the dev container as root for s6 init so composer can create
vendor/ on root-owned mounts, then chown writable paths to www-data.
Move init-setup into a shell script and expose VITE_HOST/PORT for
remote HMR (LAN/Tailscale) with Vite listening on 0.0.0.0.
2026-07-18 20:56:01 +02:00
Andras Bacsai and GitHub
913d033c75
fix(resources): clarify build server hosting restrictions ( #10961 )
2026-07-16 21:35:23 +02:00
Andras Bacsai
7d699818e8
fix: harden Vultr create, Gmail identity, and provider retries
...
Wrap Vultr server creation in DB transactions and delete the remote
instance when local persistence fails (API and Livewire). Scope
plus/dot email normalization to gmail.com/googlemail.com only.
Use throw:false on DigitalOcean/Vultr HTTP retries, and normalize
service log line counts via normalizeLogLines.
2026-07-16 13:42:53 +02:00
Andras Bacsai
2719d66042
feat: add ClickHouse backups and cloud ops tools
...
Enable scheduled ClickHouse backups across the job, API, and UI, and
guard unsupported database types via isBackupSolutionAvailable().
Convert Stripe subscription sync from a job to an action with clearer
discrepancy resolution, and add cloud:export-users plus
cloud:cleanup-unverified-users with tests.
2026-07-16 11:57:52 +02:00
Andras Bacsai
908b5cc09d
feat(api): add service database management endpoints
...
Add service database CRUD, logs, and lifecycle actions, and document service application operations with OpenAPI tests.
2026-07-15 12:29:58 +02:00
Andras Bacsai
64667574f6
fix(api): correct service and application OpenAPI schemas
2026-07-15 12:29:20 +02:00
Andras Bacsai and GitHub
05dc2c65f6
chore(deps): bump web-auth/webauthn-lib from 5.3.3 to 5.3.5 ( #10901 )
2026-07-14 14:18:00 +02:00
Andras Bacsai
198e9f8fff
fix(environment-variable): align settings and actions responsively
2026-07-14 14:02:34 +02:00
Andras Bacsai
59605fe7d3
fix(environment-variable): keep delete button compact
2026-07-14 13:58:15 +02:00
Andras Bacsai
34e6a6dd5d
feat(api): add application settings to application endpoints
2026-07-14 13:44:45 +02:00
Andras Bacsai
99e255a572
fix(deployment): detect application configuration changes consistently
...
Expand configuration snapshots, handle defaults from older snapshots, and refresh configuration state after Livewire setting changes.
2026-07-14 12:54:31 +02:00
Andras Bacsai and GitHub
5381287606
Update configuration for compatibility with EspoCRM v10 ( #10848 )
2026-07-13 15:06:35 +02:00
Andras Bacsai and GitHub
683a2ce2e9
feat(services): bump alexandrie to version 8.10.0 ( #10864 )
2026-07-13 15:06:16 +02:00
Andras Bacsai
47a292486c
chore(deps): bump NGINX package to 1.31.2-r1
2026-07-13 10:54:31 +02:00
Andras Bacsai
c8a332a3bc
fix(servers): isolate cloud status checks from SSH checks
...
Track provider state independently, skip SSH work for placeholder IPs, and clean up failed cloud server provisioning.
2026-07-11 22:52:10 +02:00
Andras Bacsai
e01b8a057e
fix(servers): retain cloud instances awaiting IPs
...
Persist DigitalOcean, Hetzner, and Vultr servers before public IP
assignment, then backfill placeholder addresses from provider state.
Treat partial Sentinel snapshots as non-authoritative and document the
destinations API with OpenAPI schemas.
2026-07-11 21:35:10 +02:00
Andras Bacsai
d3fbb32c52
feat(cdn): sync release metadata through BunnyCDN
...
Replace the legacy sync:bunny flags with an interactive CDN sync flow for service templates and release metadata. Serve official service templates from the Coollabs CDN, update version metadata, and remove obsolete helper scripts.
2026-07-10 14:29:11 +02:00
Andras Bacsai
e4f925ebbf
fix(meta): serve releases metadata from Coollabs CDN
2026-07-10 10:49:59 +02:00
Andras Bacsai
dd10a90d8c
fix(meta): update social preview image URL
2026-07-10 10:48:06 +02:00
Andras Bacsai
bcadcc9200
docs(readme): serve sponsor images from Coollabs CDN
2026-07-10 10:47:38 +02:00
Andras Bacsai
2a0183bfad
Revert "feat(notifications): deduplicate repeated email alerts"
...
This reverts commit 8c1405e168 .
2026-07-09 13:19:48 +02:00
Andras Bacsai
8c1405e168
feat(notifications): deduplicate repeated email alerts
...
Add notification-level deduplication keys and TTLs for deployment, backup,
server, container, scheduled task, SSL, token, and transactional emails.
Apply deduplication in email channels before sending rendered messages.
2026-07-08 15:23:14 +02:00
Andras Bacsai and GitHub
ee620a5413
fix(github): honor skip flags for PR preview syncs ( #10873 )
2026-07-08 15:06:31 +02:00
Andras Bacsai
e325f93662
Merge remote-tracking branch 'origin/next' into 10870-pr-previews-ignore
2026-07-08 15:06:16 +02:00
Andras Bacsai
f24439f9c8
test(github): cover PR previews without skip ci
2026-07-08 14:44:40 +02:00
Andras Bacsai
3f960d94c3
fix(github): skip opened PR previews with skip ci
2026-07-08 14:41:37 +02:00
Andras Bacsai
0217e2b0c0
feat(server): improve private key and cloud link flows
...
Add server private key generation from the dropdown, prevent deleting
private keys that are still in use, and close cloud provider link modals
after successful linking.
2026-07-08 13:35:09 +02:00
Andras Bacsai
f4f4274cee
fix(github): skip PR previews from head commit flags
2026-07-08 13:31:23 +02:00
Andras Bacsai
9b8aeb4758
feat(server): add private key creation to IP server form
2026-07-08 13:05:29 +02:00
Andras Bacsai
e200d881f5
feat(security): add editable cloud credential pages
...
Add dedicated show/edit pages for cloud provider tokens and cloud-init
scripts, including descriptions and UUID routes.
Generate private keys directly from the index and surface cloud provider
API loading errors in server creation flows.
2026-07-08 12:58:27 +02:00
Andras Bacsai
7236cb8228
feat(server): add dedicated server creation flow
2026-07-08 12:20:56 +02:00
Andras Bacsai and GitHub
18f0f7f6be
feat(digitalocean): add droplet provisioning support ( #10871 )
2026-07-08 10:50:25 +02:00
Andras Bacsai
c303c34cfd
feat(digitalocean): add droplet provisioning support
2026-07-08 10:42:58 +02:00
Andras Bacsai and GitHub
5936874ffd
feat(vultr): add cloud provider integration ( #10533 )
2026-07-08 10:24:10 +02:00
Andras Bacsai
2dd264f802
fix(vultr): remove duplicate deletion error log
2026-07-08 10:23:31 +02:00
Andras Bacsai
d90a0a288c
fix: align server mobile menu spacing
2026-07-08 09:49:16 +02:00
Andras Bacsai
d74206f4a9
Merge remote-tracking branch 'origin/next' into feature/vultr-cloud-provider
2026-07-08 09:48:18 +02:00
Andras Bacsai
b0f0f7d8d0
feat: harden auth flows and server mobile navigation
...
Add normalized email identity rate limiting for registration and forgot-password requests, and refresh Sentinel status from restart broadcasts.
Rework server sidebars and navbar for mobile menus and active status visibility.
2026-07-08 09:42:52 +02:00
Andras Bacsai
94079c90f2
docs(readme): refresh sponsor listings
2026-07-08 00:03:42 +02:00
Andras Bacsai
6ed92cb97a
fix(vultr): validate public network and token scope
...
Require IPv6 when public IPv4 is disabled, constrain cloud token
lookup by team and provider during deletion, and encode Vultr instance IDs
in API paths.
2026-07-07 21:39:57 +02:00
Andras Bacsai
31f904ef9f
Merge remote-tracking branch 'origin/next' into feature/vultr-cloud-provider
2026-07-07 21:23:07 +02:00
Andras Bacsai and GitHub
b93f1090ad
feat(api): add POST /move endpoints to relocate resources between environments ( #8968 )
2026-07-07 21:21:11 +02:00
Andras Bacsai
6872f63f5f
fix(api): audit moved resources
2026-07-07 21:20:41 +02:00
Andras Bacsai
5699b78567
fix(api): stop auditing sentinel metric pushes
2026-07-07 21:17:29 +02:00
Andras Bacsai
f244b5e25d
test(api): assert target env authorization on moves
2026-07-07 21:07:50 +02:00
Andras Bacsai
676161a627
fix(api): authorize target environment moves
2026-07-07 20:56:55 +02:00
Andras Bacsai
cf63c7d154
Merge remote-tracking branch 'origin/next' into feat/api-move-resources-between-projects
2026-07-07 18:13:37 +02:00
Andras Bacsai and GitHub
0cca267953
feat(api): Service Application Management API ( #9249 )
2026-07-07 18:05:57 +02:00
Andras Bacsai
9f13434273
fix(docker): escape container status commands
...
Build container status commands with escaped container names in the
Docker helper so callers can pass raw identifiers consistently.
2026-07-07 18:00:40 +02:00
Andras Bacsai
a165e03d06
fix(service-apps): harden updates and docker commands
...
Escape service application lifecycle command arguments for deploy, restart, stop, and log status checks.
Validate API update payloads from JSON/form data before applying allowed fields, preserving explicit boolean and null values.
Add coverage for service application API authorization, team isolation, validation, and command escaping.
2026-07-07 15:10:24 +02:00
Andras Bacsai
95a3c453d8
Merge remote-tracking branch 'origin/next' into 9249-pr-investigation
2026-07-07 14:45:48 +02:00
Andras Bacsai and GitHub
e81a2c6996
feat(cloud-provider): Add support for Hetzner firewalls, internal networks and backups when creating the Server ( #9646 )
2026-07-07 14:42:29 +02:00
Andras Bacsai
a8000ac2ad
fix(hetzner): require at least one public IP protocol
2026-07-07 14:41:17 +02:00
Andras Bacsai
c9ffa0db96
Merge remote-tracking branch 'origin/next' into feat/hetzner-firewalls-and-internal-networks
2026-07-07 14:37:54 +02:00
Andras Bacsai
0b33eb4e9c
fix(ui): constrain helper popup within viewport
2026-07-07 14:37:33 +02:00
Andras Bacsai
b939e09f12
refactor(hetzner): move advanced options into dropdown
2026-07-07 14:36:11 +02:00
Andras Bacsai
d723a52d9c
fix(hetzner): secure token-backed option fetches
...
Authorize stored Hetzner cloud provider tokens before fetching
firewalls or networks, hide provider error details, and keep server
creation intact if backup activation fails.
Collapse advanced Hetzner server options by default while preserving
visibility when advanced values are selected.
2026-07-07 14:24:15 +02:00
Andras Bacsai and GitHub
5dc697c428
feat(api): add tag management endpoints for applications, databases, and services ( #9275 )
2026-07-07 14:12:13 +02:00
Andras Bacsai
aded45acbe
Merge remote-tracking branch 'origin/next' into feat/api/tag-management
2026-07-07 14:02:45 +02:00
Andras Bacsai
11b35ba3c1
feat(api): add tags to resource creation
...
Normalize tag names before attaching them, reject names that are too short
after sanitization, and return 404 when removing tags not attached to the
resource.
Adds a per-team unique tag-name index and migrates duplicate tags onto the
kept record before creating the constraint.
2026-07-07 13:56:33 +02:00
Andras Bacsai
2ad11fdd9a
Merge remote-tracking branch 'origin/next' into feat/hetzner-firewalls-and-internal-networks
2026-07-07 13:47:51 +02:00
Andras Bacsai
c58b4fd69c
Merge remote-tracking branch 'origin/next' into feature/vultr-cloud-provider
2026-07-07 13:44:37 +02:00
Andras Bacsai and GitHub
6f52f7a22f
fix(api): hide sensitive fields by default, expose via makeVisible for privileged tokens ( #9893 )
2026-07-07 13:31:41 +02:00
Andras Bacsai
ff976a134f
Merge remote-tracking branch 'origin/next' into api-sensitive-data-scrubber
2026-07-07 12:56:19 +02:00
Andras Bacsai
9a2c432c79
fix(api): expose sensitive fields for privileged tokens
...
Privileged API tokens can read hidden resource fields in environment and
resource responses, including instance-admin team tokens with team_id 0.
Configuration hashes now include hidden environment variable values so
secret edits trigger restart detection.
2026-07-07 12:53:34 +02:00
Andras Bacsai
f617e58401
Merge remote-tracking branch 'origin/next' into feat/api/tag-management
...
# Conflicts:
# app/Http/Controllers/Api/ApplicationsController.php
2026-07-07 12:49:19 +02:00
Andras Bacsai and GitHub
3324999623
feat(api): add is_preview_deployments_enabled on applications ( #10188 )
2026-07-07 12:41:48 +02:00
Andras Bacsai
00a3738ec7
Merge remote-tracking branch 'origin/next' into api-application-preview-deployments
2026-07-07 12:38:37 +02:00
Andras Bacsai
cf12e1d7ef
feat(api): allow preview deployments on app create
...
Expose is_preview_deployments_enabled in the application create API
schema and validation, and skip deployment configuration column casts on
sqlite migrations.
2026-07-07 12:36:35 +02:00
Andras Bacsai
e9bef8443b
fix(api): hide nested server secrets in database responses
...
Prevent database detail responses from exposing log drain and Sentinel
settings when callers lack sensitive read access.
2026-07-07 12:34:09 +02:00
Andras Bacsai and GitHub
2caa5e67ff
fix(github): derive API URLs from GitHub HTML hosts ( #10610 )
2026-07-07 12:29:15 +02:00
Andras Bacsai and GitHub
f3ca349765
fix: accept underscores in domain hostnames for API URL validation ( #10663 )
2026-07-07 12:27:29 +02:00
Andras Bacsai
21bd8fa2bc
fix(github): reject malformed app URL origins
2026-07-07 12:24:52 +02:00
Andras Bacsai
b50839d451
Merge remote-tracking branch 'origin/next' into fix/url-validator-underscore-hostnames
2026-07-07 12:24:32 +02:00
Andras Bacsai
bce871d991
fix(domains): reject non-HTTP URL schemes
2026-07-07 12:20:26 +02:00
Andras Bacsai and GitHub
d01e3a9730
fix(parsers): populate docker_compose_domains for API-created Docker Compose apps ( #9300 )
2026-07-07 12:17:52 +02:00
Andras Bacsai and GitHub
d657c10df3
fix(api): allow source commit build setting ( #10551 )
2026-07-07 12:12:32 +02:00
Andras Bacsai
59b158381c
fix(api): preserve source commit flag until cleanup
2026-07-07 12:12:20 +02:00
Andras Bacsai and GitHub
6c42ca82cb
fix: only strip git_host from repository_url when git_host is github.com ( #10274 )
2026-07-07 12:11:45 +02:00
Andras Bacsai
2741bc1d0d
test(api): cover public git repository URL storage
2026-07-07 12:10:38 +02:00
Andras Bacsai and GitHub
76a4c1484d
fix(deploy): cast force param as boolean to prevent cache bust on every deploy ( #9909 )
2026-07-07 12:08:29 +02:00
Andras Bacsai
6baabf9eda
fix(api): document source commit build option
2026-07-07 12:08:07 +02:00
Andras Bacsai and GitHub
15684fdbfe
feat(api): add endpoint to retrieve database and service logs ( #6293 )
2026-07-06 23:59:02 +02:00
Andras Bacsai
ff5cfd4253
fix(api): normalize log endpoint query handling
...
Clamp log line counts, parse timestamp flags consistently, and filter
service subcontainers by Coolify labels. Document log endpoint timestamp
parameters and database/service log routes in OpenAPI.
2026-07-06 23:58:12 +02:00
Andras Bacsai
adc4b3091f
Merge remote-tracking branch 'origin/next' into feat/database-service-logs-endpoint
2026-07-06 23:29:54 +02:00
Andras Bacsai and GitHub
b6a4c7383a
fix(env): preserve empty service variable values ( #10850 )
2026-07-03 20:47:18 +02:00
Andras Bacsai
1adeed2a48
fix(github): preserve custom app API URLs
2026-07-03 12:01:16 +02:00
Andras Bacsai
eddcbe819b
fix(parser): populate compose domains from service env keys
2026-07-03 11:57:02 +02:00
Andras Bacsai and GitHub
9b060958aa
fix(ray): remove Ray debug hooks from runtime ( #10847 )
2026-07-03 11:40:20 +02:00
Andras Bacsai
e551f9c176
Merge remote-tracking branch 'origin/next' into fix/docker-compose-domains-api-9211
2026-07-03 11:32:41 +02:00
Andras Bacsai
29c122b31a
fix(api): return deployment UUID strings directly
2026-07-03 11:31:49 +02:00
Andras Bacsai
a7dddccd2e
Merge remote-tracking branch 'origin/next' into ghe-support-helpers
2026-07-03 10:26:58 +02:00
Andras Bacsai
b5ba40b049
Merge remote-tracking branch 'origin/next' into fix/docker-compose-domains-api-9211
2026-07-03 10:26:19 +02:00
Andras Bacsai and GitHub
8ce054c10c
fix(git): use cloud install path for ghe apps ( #10576 )
2026-07-03 10:24:04 +02:00
Andras Bacsai
b90380f542
Merge remote-tracking branch 'origin/next' into ghe-support-helpers
2026-07-03 10:15:29 +02:00
Andras Bacsai and GitHub
67693acce7
fix(parser): preserve file volume state ( #10843 )
2026-07-03 10:14:39 +02:00
Andras Bacsai
d73649ca15
Merge remote-tracking branch 'origin/next' into fix-ghe-app-install-url
2026-07-03 10:10:39 +02:00
Andras Bacsai
08e0d02643
Merge remote-tracking branch 'origin/next' into next
2026-07-03 10:09:50 +02:00
Andras Bacsai
4435a46f07
fix(server): hide sentinel status before validation
2026-07-03 10:08:55 +02:00
Andras Bacsai and GitHub
58f6f9e05b
feat(dev): add Lima testing server fixtures ( #10844 )
2026-07-03 10:07:55 +02:00