Commit Graph
15310 Commits
Author SHA1 Message Date
Andras BacsaiandGitHub a1b2ab124a fix(api): use explicit team ID for S3 storage lookup in backup endpoints (#9655) 2026-04-19 15:28:13 +02:00
Andras Bacsai 5019c8db92 fix(api): use explicit team ID for S3 storage lookup in backup endpoints
Replace `ownedByCurrentTeam()` (session-based) with `ownedByCurrentTeamAPI($teamId)`
(explicit team ID) when resolving S3 storage in create_backup and update_backup.
Session-based team resolution is unreliable in API context where auth is token-based.

Add `S3Storage::ownedByCurrentTeamAPI(int $teamId)` scope and update feature tests
to use real model instances instead of Mockery mocks.
2026-04-19 15:26:47 +02:00
Andras BacsaiandGitHub 661d609da3 fix(server): exclude persistent resources from container prune (#9654) 2026-04-19 15:19:41 +02:00
Andras Bacsai 0620496c5f fix(server): exclude persistent resources from container prune
Prevent docker container prune from removing containers labeled as
database, application, or service types. Previously only proxy containers
were excluded, risking accidental cleanup of active resources.
2026-04-19 15:17:47 +02:00
Andras BacsaiandGitHub 371e883c75 refactor(api): validate and throttle feedback endpoint (#9653) 2026-04-19 14:50:03 +02:00
Andras BacsaiandClaude Opus 4.7 434f91f83c refactor(help): raise feedback subject cap to 600 characters
Align composed payload size with the 2000-char backend budget
(prefix ~56 + email 255 + subject 600 + description 1000 = 1911).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 14:48:34 +02:00
Andras BacsaiandClaude Opus 4.7 233f063850 refactor(help): cap feedback subject length to 255 characters
Keep composed feedback payload within the server-side 2000-char budget
(prefix ~56 + email 255 + subject 255 + description 1000 = 1566).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 14:46:42 +02:00
Andras BacsaiandGitHub 5bf4bb9e80 feat(api): add DELETE endpoint for preview deployments by PR id (#9614) 2026-04-19 14:43:32 +02:00
Andras BacsaiandClaude Opus 4.7 e7bbd45408 refactor(api): validate and throttle feedback endpoint
- Validate content (required string, min:10, max:2000) in OtherController@feedback
- Register 'feedback' named rate limiter (3/min per user or IP) in RouteServiceProvider
- Apply throttle:feedback middleware to POST /api/feedback
- Forward to Discord with allowed_mentions.parse=[] and a 5s HTTP timeout

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 14:41:47 +02:00
Andras BacsaiandGitHub 1337e4351a refactor(webhook): encrypt manual webhook secrets and tighten HMAC verification (#9652) 2026-04-19 12:53:02 +02:00
Andras BacsaiandClaude Opus 4.7 bafb9a5a8b refactor(webhook): encrypt manual webhook secrets and tighten HMAC verification
- Auto-generate a 40-char random secret for each manual_webhook_secret_* column on Application creation so new apps are never left with an empty secret.
- Add encrypted cast for the four webhook-secret columns; backfill migration re-encrypts existing plaintext values and fills missing ones.
- Reject webhook deliveries when the stored secret is empty (GitHub, GitLab, Bitbucket, Gitea manual endpoints).
- Bitbucket: require the sha256 algorithm prefix on X-Hub-Signature instead of trusting the client-supplied algo.
- GitLab: drop the ?? '' fallback on the token comparison.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 12:52:23 +02:00
Andras BacsaiandGitHub 0627e14810 build(deps-dev): bump follow-redirects from 1.15.11 to 1.16.0 (#9580) 2026-04-19 12:04:56 +02:00
Andras BacsaiandGitHub 33518b24a2 refactor: tighten team scoping on resource creation and admin nav (#9651) 2026-04-19 12:01:11 +02:00
Andras Bacsai f77cc91b83 refactor(admin): use named routes for admin index navigation
Replace Referer-based redirects in Admin Index back() and switchUser()
with named routes (admin.index and dashboard) for consistent navigation
behavior independent of the request header.

Add tests verifying back() returns to admin.index, switchUser routes to
the dashboard, and the Referer header is no longer consulted.
2026-04-19 11:58:52 +02:00
Andras Bacsai a478ac66eb refactor: scope destination and resource lookups by current team
Use find_destination_for_current_team helper across resource creation
flows and the destination controller. Pass full destination objects to
database creation helpers instead of UUIDs so team relationships are
resolved consistently before the resource is created or linked.

Add feature tests covering destination, backup storage, and resource
proof lookups across teams.
2026-04-19 11:55:12 +02:00
Andras Bacsai bceb5f28dc feat(applications): add DELETE endpoint for preview deployments by PR id
Add `DELETE /api/v1/applications/{uuid}/previews/{pull_request_id}` to
cancel active deployments, stop containers, and delete the preview
record via `CleanupPreviewDeployment`. Includes OpenAPI annotations,
input validation, and full feature test coverage.
2026-04-17 13:29:11 +02:00
dependabot[bot]andGitHub 0daf450efb build(deps-dev): bump follow-redirects from 1.15.11 to 1.16.0
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-15 19:04:15 +00:00
Andras Bacsai 3a8f52ce16 fix(team): mark servers unreachable when subscription ends
Set unreachable_count to 3 and unreachable_notification_sent to true
on all team servers in subscriptionEnded(), so the existing cleanup
command can pick them up after the 7-day grace period.

Also adds feature tests for the subscription-ended cleanup flow and
casts server IP to string in existing unreachable server tests to fix
type comparison.
2026-04-15 15:12:29 +02:00
Andras Bacsai a5b3d3a536 fix(migrations): guard uuid column addition and filter teamless servers
- Skip uuid column creation if it already exists to prevent duplicate
  column errors on re-run
- Use chunkById instead of orderBy+chunk for efficient pagination
- Filter servers by whereHas('team') to avoid processing orphaned servers
  without a team relationship
2026-04-15 14:24:41 +02:00
Andras Bacsai 68e8d6904d feat(env): add buildtime and runtime checkboxes for shared variables
Add is_buildtime and is_runtime checkboxes to shared environment
variable UI, shown in both editable and read-only (disabled) states.
2026-04-14 17:14:49 +02:00
Andras BacsaiandGitHub 3fa4ea9ad3 fix(git): preserve ssh scheme URLs with custom ports (#9425) 2026-04-14 15:31:31 +02:00
Andras Bacsai df5a9e9ba3 chore(version): bump Coolify to 4.0.0-beta.474
Update the app version constant and synced version manifests for the latest beta release.
2026-04-14 11:29:50 +02:00
Andras BacsaiandGitHub 7667146678 Added extra documentation on format for port+path for domains (#8331) 2026-04-14 11:18:35 +02:00
Andras Bacsai 988c127e20 Merge remote-tracking branch 'origin/next' into domain-info-addition 2026-04-14 11:17:59 +02:00
Andras Bacsai 7196b05777 Merge remote-tracking branch 'origin/next' into domain-info-addition 2026-04-14 11:17:40 +02:00
Andras BacsaiandGitHub b20729d47f feat(services): add architecture warning (#8390) 2026-04-14 11:16:57 +02:00
Andras Bacsai 6b609536a5 fix(templates): mark Cal.com as AMD-only
Add the `amd_only` flag to the Cal.com service entry in both template JSON files so it is constrained to supported architecture.
2026-04-14 11:16:18 +02:00
Andras Bacsai aa445b4a6c Resolve remaining merge conflicts 2026-04-14 11:14:22 +02:00
Andras BacsaiandGitHub 7a6e88175c feat(ui): improve service settings UX, headings, and helper text for clarity (#9027) 2026-04-14 10:54:01 +02:00
Andras Bacsai 07c6b02a82 Merge remote-tracking branch 'origin/next' into jean/organize-service-ui 2026-04-14 10:52:01 +02:00
Andras BacsaiandGitHub 9f86b73d65 fix(healthcheck): user input is rejected if path contains comma and semicolon (#9223) 2026-04-14 10:41:55 +02:00
Andras BacsaiandGitHub 09f433b266 feat(ui): display memory limit fields in single row (#9232) 2026-04-14 10:39:37 +02:00
Andras BacsaiandGitHub f246e0aa99 feat(ui): add info callout to clone resource section about excluded items (#9233) 2026-04-14 10:39:00 +02:00
Andras BacsaiandGitHub 340c5dc039 feat(ui): categorize application advanced settings into logical sections (#9234) 2026-04-14 10:38:43 +02:00
Andras BacsaiandGitHub 91d5f46485 fix(dev): add Docker volume path mapping to testing-host for database deployments (#9534) 2026-04-14 10:38:23 +02:00
Andras BacsaiandGitHub 5eb2c90c04 fix(installer): use RHEL Docker repo for Rocky Linux (#9541) 2026-04-14 10:31:54 +02:00
Andras Bacsai 16d9c02e73 fix(install): use Rocky Linux RHEL Docker repository
Add a Rocky-specific Docker install path to the stable and nightly install scripts, using Docker's documented RHEL repository flow. Include a unit test to lock in the Rocky repo selection and command set.
2026-04-14 10:31:01 +02:00
Tim L. WhiteandClaude Opus 4.6 067dd35e2b fix(dev): add Docker volume path mapping to testing-host for database deployments
Database deployments generate bind mounts referencing the internal Docker
volume path (/var/lib/docker/volumes/coolify_dev_coolify_data/_data) which
doesn't exist in the testing-host container. This adds the missing volume
mount so both /data/coolify and the Docker volume path resolve correctly.

Fixes #9533

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:13:00 -06:00
Andras BacsaiandGitHub 57ea0764b8 v4.0.0-beta.473 (#9521) 2026-04-13 11:26:15 +02:00
Andras Bacsai 39944180e3 build(realtime): bump coolify-realtime to 1.0.13 2026-04-13 10:21:24 +02:00
Andras Bacsai 60f76380bd build(realtime): bump coolify-realtime to 1.0.13
Update the realtime service version constant and Docker Compose image tags,
including nightly and Windows variants.
2026-04-13 10:21:01 +02:00
Andras BacsaiandGitHub bbec5d9268 build(deps): bump axios from 1.13.6 to 1.15.0 in /docker/coolify-realtime (#9516) 2026-04-13 10:18:42 +02:00
Andras BacsaiandGitHub 08adbd60f5 build(deps-dev): bump axios from 1.13.2 to 1.15.0 (#9515) 2026-04-13 10:16:59 +02:00
Andras BacsaiandGitHub 01179edd50 build(deps): bump phpseclib/phpseclib from 3.0.50 to 3.0.51 (#9500) 2026-04-13 10:16:31 +02:00
Andras BacsaiandGitHub d5c8d1c6ae fix(validation): allow protocol suffix and ip in port mappings (/tcp, /udp, /sctp) (#9503) 2026-04-13 10:13:30 +02:00
dependabot[bot]andGitHub 942e1baaec build(deps): bump axios in /docker/coolify-realtime
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-12 11:13:23 +00:00
dependabot[bot]andGitHub 1cab5a8ff4 build(deps-dev): bump axios from 1.13.2 to 1.15.0
Bumps [axios](https://github.com/axios/axios) from 1.13.2 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.2...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-12 08:52:10 +00:00
ShadowArcanist f825a1f1a8 fix(validation): support IP binding in port mappings 2026-04-11 22:24:52 +05:30
ShadowArcanist 8d84e171b6 fix(validation): allow protocol suffix in port mappings (/tcp, /udp, /sctp) 2026-04-11 17:47:34 +05:30
dependabot[bot]andGitHub a6597279da build(deps): bump phpseclib/phpseclib from 3.0.50 to 3.0.51
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.50 to 3.0.51.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.50...3.0.51)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-version: 3.0.51
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-10 22:06:07 +00:00