Commit graph

5049 commits

Author SHA1 Message Date
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
Andras Bacsai
b69fb77cb4
fix(docker): use dynamic OS ID for Docker repository URL (#7907) 2026-01-09 10:08:14 +01:00
Andras Bacsai
e7db637a5d fix(docker): use dynamic OS ID for Docker repository URL
Replace hardcoded 'debian' with ${ID} from /etc/os-release to use
the correct Docker repository for Ubuntu, Debian, and Raspbian servers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 10:04:42 +01:00
peaklabs-dev
233c79f598
fix(backup): database restores with custom db name 2026-01-08 16:29:08 +01:00