Commit graph

15577 commits

Author SHA1 Message Date
rosslh
b9e17f4995 style(branding): remap neutral/gray to stone and fix chart theming
Remap neutral and gray scales to stone equivalents in @theme block for
warm tone consistency across all three apps. Interpolate coolgray-200 to
avoid invisible dark-mode elements. Add gridColor/textColor to ApexCharts
initial options so axis labels render on first load. Update warning color
and fix add-tag opacity.
2026-05-24 11:57:53 -04:00
rosslh
b275bd2d9f style(branding): replace gray-50 with stone-50 and darken base to stone-800 2026-05-24 11:57:53 -04:00
rosslh
74e183f777 fix(sentinel): pull sentinel image from ghcr.io and fall back to latest tag 2026-05-24 11:57:53 -04:00
rosslh
52bc65de96 feat(branding): disable FQDN and IP fields instead of hiding/leaving editable 2026-05-24 11:57:53 -04:00
rosslh
b18a77d857 fix(versioning): move version bumping to CI build time
Version was never bumped because git rebase doesn't run pre-commit
hooks. CI now appends a YYYYMMDDHHmm timestamp to the upstream base
version and injects it into the Docker image via build arg.
2026-05-24 11:57:53 -04:00
rosslh
d8b6e26364 feat(branding): yellow scrollbar and hide FQDN settings field
- Change scrollbar thumb from Coolify red to MapleDeploy yellow
- Hide FQDN field from settings UI (managed during provisioning)
2026-05-24 11:57:53 -04:00
rosslh
7e5d568de0 feat(auth): notify MapleDeploy on first-user registration
After the first user registers, clears the setup token and dispatches
NotifySetupCompleteJob to POST the token to MapleDeploy's callback URL.
Adds setup_callback_url column to instance_settings.
2026-05-24 11:57:53 -04:00
rosslh
59a6ad42a2 feat(auth): gate first-user registration with setup token
Require a setup_token query parameter to access the registration page
when no users exist, preventing admin hijacking on new instances.
2026-05-24 11:57:53 -04:00
rosslh
0c1cac1eb1 fix(dns): replace Cloudflare defaults with CIRA Canadian Shield
Replace hardcoded 1.1.1.1/1.0.0.1 (Cloudflare) DNS defaults with
CIRA Canadian Shield (149.112.121.10, 149.112.122.10) to maintain
Canadian data sovereignty for DNS resolution.
2026-05-24 11:57:53 -04:00
rosslh
06ee8538d9 chore(branding): remove sponsorship popup remnants 2026-05-24 11:57:53 -04:00
rosslh
4e922d89a6 style(branding): replace Coolify purple and yellow with MapleDeploy palette
Replace #6b16ed (Coolify purple) with #d52b1e (MapleDeploy red) and
form focus states, dirty indicators, chart colors, and theme tokens.
Also fix warning color scale to use standard Tailwind yellow values.
2026-05-24 11:57:53 -04:00
rosslh
1eb1067b90 feat(onboarding): skip boarding wizard for new users
Customers land directly on the dashboard instead of the setup wizard,
which shows a misleading localhost vs remote server warning that
conflicts with MapleDeploy's single-VM model.
2026-05-24 11:57:53 -04:00
rosslh
867f2f4fd2 style(branding): add header logo gap and use stone-900 background
Add 4px gap between logo and header elements with flex-shrink support.
Change base background from near-black (#0c0a09) to stone-900 (#1c1917)
to match the marketing site's darkest dark-mode color.
2026-05-24 11:57:53 -04:00
rosslh
16586d70b1 fix(branding): preserve sidebar logo aspect ratio when constrained 2026-05-24 11:57:27 -04:00
rosslh
37f8698a71 fix(branding): replace "self-hosted" subtitle on dashboard 2026-05-24 11:57:27 -04:00
rosslh
8c1fbf4f13 fix(branding): constrain sidebar logo to prevent overflow
Replace max-w-none with max-w-full so the logo respects the sidebar
container width instead of overflowing it.
2026-05-24 11:57:27 -04:00
rosslh
6017d041ed fix(branding): preserve sidebar logo aspect ratio, bump to 463.2
Add max-w-none to logo images to prevent Tailwind base styles from
constraining the image width within the narrow sidebar flex container.
2026-05-24 11:57:27 -04:00
rosslh
97eb0540e7 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-05-24 11:57:27 -04:00
rosslh
4d144d5bfe fix(ci): recreate CDN storage zone in EU (DE) region
Storage zone was accidentally created in NY. Recreated as
'coolify-update' in DE (Falkenstein) to keep update artifacts
in EU jurisdiction, consistent with Bunny.net data sovereignty
justification. Updated storage zone name, pull zone ID, and
reverted storage endpoint to default (storage.bunnycdn.com).
2026-05-24 11:56:19 -04:00
rosslh
ab30093c4b fix(ci): use NY region storage endpoint for Bunny CDN uploads 2026-05-24 11:56:19 -04:00
rosslh
dfa2a2c4e4 fix(ci): use apk instead of apt-get for curl install 2026-05-24 11:56:19 -04:00
rosslh
5da91e9fed fix(ci): install curl in runner for CDN uploads 2026-05-24 11:56:19 -04:00
rosslh
e8d7c9c93f 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-05-24 11:56:19 -04:00
rosslh
c45efe942e 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-05-24 11:55:58 -04:00
Andras Bacsai
49656aa1ed
v4.1.0 (#9841) 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
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
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
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
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
Andras Bacsai
93fb7827ab
fix(deployment): include commit in preview image tags (#10066) 2026-05-11 22:13:16 +02:00
Andras Bacsai
9bb40f3ccb fix(deployment): avoid shared preview tags for HEAD commits
Use the deployment UUID when preview deployments are built from HEAD so each deployment gets distinct production and build image tags.
2026-05-11 22:11:08 +02:00
Andras Bacsai
2253c40e01 fix(deployment): include commit in preview image tags
Generate pull request preview image tags with both the PR id and commit
so different commits on the same PR do not reuse the same image tag. Sanitize
and truncate generated tags to stay within Docker tag limits.
2026-05-11 22:05:07 +02:00