Commit graph

5052 commits

Author SHA1 Message Date
d95d2a6c0c chore: remove broken feedback form and all entrypoints
The feedback form relies on instance SMTP being configured, which
MapleDeploy customers won't do. Without SMTP it silently logs to
the server and shows a misleading success message. Removed the
navbar button, onboarding modal, subscription page link, API
endpoint, and all associated dead code.
2026-02-17 16:02:01 -08:00
92c2435bff feat: add update pipeline with MapleDeploy CDN and versioning
Route all Coolify update artifacts (versions.json, upgrade.sh,
compose files) through updates.mapledeploy.ca instead of upstream
cdn.coollabs.io. Extend CI to publish artifacts to Bunny CDN
storage zone and purge cache on each build.

- Point CDN_URL, versions_url, upgrade_script_url to updates.mapledeploy.ca
- Hardcode helper/realtime images to ghcr.io (not mirrored to Forgejo)
- Pass registry_url as 3rd arg to upgrade.sh for main image pulls
- Adopt versioning scheme 4.0.0-beta.X.N (bump to 4.0.0-beta.463.1)
- Add CI steps: generate versions.json, upload to Bunny, purge cache
2026-02-17 16:02:01 -08:00
2cd57f5ba6 feat(branding): apply MapleDeploy branding to Coolify
Replace Coolify branding with MapleDeploy throughout the UI: logos,
favicon, fonts (Overlock 900), color scheme, help links, and page
titles. Remove GitHub Actions workflows and add Forgejo CI build
workflow. Strip cloud-only features (subscription prompts, sponsor
links, server creation cloud options).
2026-02-17 16:02:01 -08:00
Andras Bacsai
63a1c5c0c7 feat(openclaw): add Openclaw service with environment variables and health checks
- Implemented Openclaw service in Service.php to manage environment variables and passwords.
- Added Openclaw SVG icon for branding.
- Created openclaw.yaml for Docker Compose configuration, including necessary environment variables and volume mappings.
- Updated service-templates-latest.json and service-templates.json to include Openclaw service details and metadata.
2026-02-09 12:33:17 +01:00
Andras Bacsai
5dde97dac2
Merge branch 'next' into 8035-public-port-stays-open 2026-02-09 10:00:06 +01:00
Alberto Rizzi
bedaed3ae6
feat(ui): improve global search with uuid and pr support (#7901) 2026-02-04 19:39:57 +01:00
peaklabs-dev
7485b1829c
fix(parser): replace dashes and dots in auto generated envs 2026-02-04 18:29:15 +01:00
peaklabs-dev
48ec6b3169
fix(database): pgvector 18 version is not parsed properly 2026-02-04 17:59:49 +01:00
peaklabs-dev
a05545c78a
feat(database): add official postgres 18 support
- postgres versions 18 and higher require a different volume mount path, so we need to adjust the path when creating them
2026-02-04 00:35:01 +01:00
ShadowArcanist
e57cc16b91
fix(validation): enforce url validation for instance domain (#8078) 2026-02-03 22:00:12 +01:00
Andras Bacsai
fc229c4889 chore: prepare for PR 2026-02-03 15:32:03 +01:00
Andras Bacsai
042cae1335 Merge remote-tracking branch 'origin/next' into 6160-investigate-cant-seem-to 2026-01-28 11:12:22 +01:00
Andras Bacsai
c0dadc003d fix(env): skip escaping for valid JSON in environment variables (#6160)
Prevent double-escaping of COMPOSER_AUTH and other JSON environment variables
by detecting valid JSON objects/arrays in realValue() and skipping quote
escaping entirely. This fixes broken JSON values passed to runtime services
while maintaining proper escaping for non-JSON values.

- Add JSON detection before escaping logic in EnvironmentVariable::realValue()
- JSON objects/arrays pass through unmodified, avoiding quote corruption
- Add comprehensive test coverage for JSON vs non-JSON escaping behavior
2026-01-28 10:59:00 +01:00
Miroslav Banov
442d38c277
fix(api): infinite loop with github app with many repos (#8052)
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
2026-01-27 22:00:02 +01:00
Raphael Afonso
dd9e599321
fix(backup): postgres restore arithmetic syntax error (#7997) 2026-01-19 19:08:32 +01:00
peaklabs-dev
24ff75bb7f
fix(validation): add @, / and & support to names and descriptions 2026-01-19 18:50:56 +01:00
peaklabs-dev
b02e64beda
docs(api): improve app endpoint deprecation description 2026-01-16 18:24:12 +01:00
Andras Bacsai
95091e918f fix: optimize queries and caching for projects and environments 2026-01-16 11:51:26 +01:00
🏔️ Peak
51301fd12e
feat(notifications): add mattermost notifications (#7963) 2026-01-15 21:59:51 +01:00
🏔️ Peak
fbacf7076e
fix(api): application endpoint issues part 2 (#7948) 2026-01-15 14:06:07 +01:00
🏔️ Peak
650186b1ab
fix(preview): docker compose preview URLs (#7959) 2026-01-15 14:03:10 +01:00
peaklabs-dev
e53c71908f
fix(api): if domains field is empty clear the fqdn column
- providing an empty string for `domains` allows the ability to remove all URLs from the domains field
2026-01-15 13:12:49 +01:00
peaklabs-dev
161e0d2b05
chore(api): improve current request error message 2026-01-14 15:37:02 +01:00
peaklabs-dev
6ca04b5613
feat(api): add more allowed fields
- added dockerfile_location as it is needed for Dockerfile deployments to work properly
- added is_spa as it makes sense together with is_static
- added is_auto_deploy_enabled and is_force_https_enabled
2026-01-14 15:28:02 +01:00
peaklabs-dev
8a1d76cd99
fix(api): is_static and docker network missing
- GitHub App and Private Deploy Key where missing is_static and connect_to_docker_network
2026-01-14 15:27:54 +01:00
peaklabs-dev
5f5c26d841
fix(api): check domain conflicts within the request 2026-01-14 15:22:30 +01:00
peaklabs-dev
754448d9d4
feat(api): improve docker_compose_domains
- add url conflict checking and force_domain_override support
- refactor docker_compose_domains URL validation function
2026-01-14 15:22:18 +01:00
peaklabs-dev
c66b6490e6
docs(api): improve domains API docs 2026-01-14 15:21:59 +01:00
peaklabs-dev
f4acf7ca10
refactor(api): application urls validation
- rename fqdn to urls as that is what it actually is
- improve URL validation to allow urls without a TLD
- improve error messages to make it clear that URLs are needed
- improve code by combining some actions
2026-01-14 15:21:44 +01:00
🏔️ Peak
b87d54f9e4
feat(api): add url update support to services api (#7929) 2026-01-14 14:51:50 +01:00
peaklabs-dev
ae9d0ec817
docs(api): change domains to urls 2026-01-14 14:50:48 +01:00
peaklabs-dev
33d3f196cc
chore(api): improve current request error message 2026-01-14 14:42:35 +01:00
peaklabs-dev
c5196e12d2
fix(api): show an error if the same 2 urls are provided 2026-01-13 20:04:44 +01:00
peaklabs-dev
0628268875
feat(api): improve service urls update
- add force_domain_override functionality and docs
- delete service on creation if there is URL conflicts as otherwise we will have stale services (we need to create the service because we need to parse it and more)
2026-01-13 19:25:58 +01:00
peaklabs-dev
aed11b4d67
fix(api): one click service name and description cannot be set during creation 2026-01-13 17:26:51 +01:00
peaklabs-dev
b44b7ac49e
fix: switch custom labels check to UTF-8
- this allows more characters then ASCII
2026-01-13 17:12:16 +01:00
peaklabs-dev
aeb9f3c852
fix(env): only show nixpacks plan variables section in dev 2026-01-13 16:58:57 +01:00
🏔️ Peak
3ff2743e01
fix(api): encoding checks (#7944) 2026-01-13 16:53:11 +01:00
peaklabs-dev
23b5a3e561
fix(env): only cat .env file in dev 2026-01-13 12:43:18 +01:00
Jérôme Gamez
b3743d341b
feat(service): add linkding template (#6651)
Co-authored-by: 🏔️ Peak <122374094+peaklabs-dev@users.noreply.github.com>
2026-01-13 00:05:43 +01:00
peaklabs-dev
764d8861f6
feat(api): add update urls support to services api
- added update urls support to services api
- remove old stale domains update code
2026-01-12 22:39:30 +01:00
peaklabs-dev
ce3cae3ff9
fix(api): applications post and patch endpoints
- remove `docker_compose_raw` from post and patch endpoints, as the compose file is sourced from git and should not be manually settable via the api
- improve the documentation for `docker_compose_domains` (URLs)
- enhanced array validation for `docker_compose_domains` by validating each array field and verifying which fields are allowed
- set a custom array validation error message, as the default message is not really clear
- show an error if the user attempts to set `domains` when the build pack is `dockercompose`
- validate that the `domains` in `docker_compose_domains` are proper URLs and include a valid scheme (`http` or `https`)
2026-01-12 22:08:05 +01:00
peaklabs-dev
7c0cb2f59d
fix(api): deprecate applications compose endpoint
- this endpoint is a duplicate of the services endpoint and also updates fields that do not exist which makes it unstable
2026-01-12 22:08:05 +01:00
peaklabs-dev
9253586f8f
refactor(api): update application create endpoints docs 2026-01-12 22:08:05 +01:00
🏔️ Peak
a83e1899be
fix(api): create service endpoint validation and docs (#7916) 2026-01-11 18:29:55 +01:00
peaklabs-dev
9c0e308dd3
refactor(api): make docker_compose_raw description more clear 2026-01-11 18:27:54 +01:00
peaklabs-dev
a0c307ac45
fix(api): add custom_network_aliases to allowed fields 2026-01-11 18:18:36 +01:00
peaklabs-dev
7c7c09aa3d
fix(api): create service validation and docs
- if service type and docker_compose_raw is filled show an error
- if service type is not valid show an error with all valid service types
- remove enum from service type docs as it always gets outdated
2026-01-10 22:29:11 +01:00
Yassine Benh
31ba241d97
feat(api): add tag filtering on the applications list endpoint (#7360) 2026-01-10 20:22:29 +01:00
Hendrik Kleinwaechter
2f5e879b73
feat: add application logs link to preview deployments PR comment (#7906) 2026-01-10 17:34:13 +01:00