Commit Graph
257 Commits
Author SHA1 Message Date
Andras BacsaiandClaude 8d82524331 feat: add Docker registry management UI for servers
Add comprehensive Docker registry management system that allows users to configure,
manage, and sync Docker registry authentication through the Coolify UI instead of
manual SSH configuration.

Key features:
- Database-backed registry storage with encrypted credentials
- Full CRUD operations via Livewire component
- Auto-sync to server's ~/.docker/config.json before deployments
- Credential validation with test connection functionality
- Import existing registries from server config
- Quick-add presets for common registries (Docker Hub, GHCR, GitLab, AWS ECR, etc.)
- Enable/disable registries without deletion
- Dark mode support

Technical changes:
- New DockerRegistry model with encrypted password field
- Migration for docker_registries table with unique constraint
- Server relationship and active scope
- Helper functions for config.json generation, sync, import, and validation
- Integration with ApplicationDeploymentJob for automatic sync
- Comprehensive unit and feature tests
- Server sidebar menu item and routing

This replaces the manual docker login requirement on servers and provides
a centralized way to manage private registry access across deployments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 09:52:09 +01:00
Andras Bacsai 635af44539 Merge pull request #6837 from coollabsio/andrasbacsai/custom-webhooks
feat: add custom webhook notification support
2025-10-12 10:57:47 +02:00
Andras BacsaiandClaude 5463f4d496 feat: add cloud-init scripts management UI in Security section
Add comprehensive cloud-init script management interface in the Security
section, allowing users to create, edit, delete, and reuse cloud-init
scripts across their team.

New Components:
- CloudInitScripts: Main listing page with grid view of scripts
- CloudInitScriptForm: Modal form for create/edit operations

Features:
- Create new cloud-init scripts with name and content
- Edit existing scripts
- Delete scripts with confirmation (requires typing script name)
- View script preview (first 200 characters)
- Scripts are encrypted in database
- Full authorization using CloudInitScriptPolicy
- Real-time updates via Livewire events

UI Location:
- Added to Security section nav: /security/cloud-init-scripts
- Positioned between Cloud Tokens and API Tokens
- Follows existing security UI patterns

Files Created:
- app/Livewire/Security/CloudInitScripts.php
- app/Livewire/Security/CloudInitScriptForm.php
- resources/views/livewire/security/cloud-init-scripts.blade.php
- resources/views/livewire/security/cloud-init-script-form.blade.php

Files Modified:
- routes/web.php - Added route
- resources/views/components/security/navbar.blade.php - Added nav link

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 12:42:09 +02:00
Andras BacsaiandClaude 27879377a0 feat: add custom webhook notification support
Add basic infrastructure for custom webhook notifications:
- Create webhook_notification_settings table with event toggles
- Add WebhookNotificationSettings model with encrypted URL
- Integrate webhook settings into Team model and HasNotificationSettings trait
- Create Livewire component and Blade view for webhook configuration
- Add webhook navigation route and UI

This provides the foundation for sending webhook notifications to custom HTTP/HTTPS endpoints when events occur in Coolify.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 15:37:00 +02:00
Andras Bacsai 704ddf2968 improved hetzner features 2025-10-09 12:53:57 +02:00
Andras Bacsai c1bcc41546 init of cloud providers 2025-10-08 20:47:50 +02:00
ShadowArcanist 299db159cb Moved terminal access settings to security page 2025-09-23 06:32:51 +05:30
Andras Bacsai fe2c4fd1c7 fix(web-routes): enhance backup response messages to clarify local and S3 availability 2025-09-09 10:34:40 +02:00
Andras Bacsai 63fcc0ebc3 feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
Andras Bacsai 3e1f47a243 feat(auth): introduce resource creation authorization middleware and policies for enhanced access control 2025-08-26 10:27:38 +02:00
Andras Bacsai 90817914d9 refactor(ui): separate views for instance settings to separate paths to make it cleaner 2025-06-30 08:50:17 +02:00
Andras Bacsai 7fb85314e5 refactor(invitation): rename methods for consistency and enhance invitation deletion logic 2025-06-25 11:45:55 +02:00
Andras Bacsai c6f4354fdb fix(routes): add name to security route for improved route management 2025-06-16 13:12:57 +02:00
Andras Bacsai 0767ff2c4f fix(web): update user team retrieval method for consistent authentication handling 2025-06-10 11:10:06 +02:00
Andras Bacsai ddcb14500d refactor(proxy-status): refactored how the proxy status is handled on the UI and on the backend
feat(cloudflare): improved cloudflare tunnel automated installation
2025-06-06 14:47:54 +02:00
Andras Bacsai 261a2fe564 feat(ca-certificate): add CA certificate management functionality with UI integration and routing 2025-05-29 14:27:28 +02:00
Andras Bacsai 46b4cfac68 feat(terminal-access): implement terminal access control for servers and containers, including UI updates and backend logic 2025-05-29 14:09:05 +02:00
Andras Bacsai 82529a3246 feat(routes): restrict backup download access to team admins and owners 2025-05-28 10:48:46 +02:00
Andras Bacsai e7536d3fb8 feat(security): implement server patching functionality
- Add CheckUpdates and UpdatePackage actions for managing server updates.
- Create ServerPackageUpdated event for broadcasting update status.
- Introduce Patches Livewire component for user interface to check and apply updates.
- Update navigation and sidebar to include security patching options.
2025-05-15 22:21:54 +02:00
Andras Bacsai f5cc272861 fix(terminal): enhance WebSocket client verification with authorized IPs in terminal server 2025-04-25 15:35:23 +02:00
peaklabs-dev 04349d9b05 chore(core): remove redocs
- It is not well maintained (no Laravel 12 Support) and does not work anyway.
2025-03-31 18:33:52 +02:00
Andras Bacsai 120facfca3 feat(api): unify service creation endpoint and enhance validation 2025-03-21 11:31:17 +01:00
peaklabs-dev 1f498f8595 Revert "fix(routes): local API docs not available on domain or IP"
This reverts commit a8b5f6befc.
2025-01-22 13:04:35 +01:00
peaklabs-dev a8b5f6befc fix(routes): local API docs not available on domain or IP 2025-01-22 12:51:46 +01:00
peaklabs-dev 23ae0677eb feat: move docker cleanup to its own tab 2025-01-15 14:02:33 +01:00
Andras Bacsai 1fe4dd722b Revert "rector: arrrrr"
This reverts commit 16c0cd10d8.
2025-01-07 15:31:43 +01:00
Andras Bacsai 16c0cd10d8 rector: arrrrr 2025-01-07 14:52:08 +01:00
Andras Bacsai bf9d89f279 Merge branch 'next' into fix-environement-route 2024-12-17 12:17:50 +01:00
Andras Bacsai 38256af9b3 fix: refactor database view 2024-12-17 12:10:55 +01:00
Andras Bacsai b7748479d4 fix: service ui structure 2024-12-17 11:13:17 +01:00
Andras Bacsai e76817d401 improve application view 2024-12-16 14:11:45 +01:00
Andras Bacsai e5f534b6ef fix: pushover 2024-12-12 08:40:34 +01:00
Zao Soula ef35429533 feat(notification): add Pushover 2024-12-11 18:13:16 +01:00
peaklabs-dev 014c6dc446 chore: remove unused route 2024-12-09 20:30:39 +01:00
Andras Bacsai 78f0ac80c1 Merge branch 'next' into feat/deployment-token 2024-12-09 09:16:59 +01:00
peaklabs-dev 5737a6d37f new routes for environment with uuid 2024-11-22 15:30:46 +01:00
Marvin von Rappard 40fb73ee8e fix: import NotificationSlack correctly 2024-11-20 13:01:56 +01:00
Marvin von Rappard 7bdac8b42f Merge branch 'next' into main 2024-11-14 12:54:04 +01:00
peaklabs-dev f55bb5b0fb remove resale license 2024-11-13 18:38:22 +01:00
Marvin von Rappard eb0686fe20 feat: slack notifications 2024-11-12 22:37:55 +01:00
peaklabs-dev b810a96f2a Update web.php 2024-11-12 16:53:55 +01:00
Andras Bacsai 7253041e15 feat: add internal api docs to /docs/api with auth 2024-11-12 13:49:40 +01:00
Andras Bacsai a297c9fcab fix: better invitation errors 2024-11-07 12:32:23 +01:00
Andras Bacsai bfad7c7d7f remove unnecesary route 2024-11-05 10:32:21 +01:00
Andras Bacsai ae7d88df9f fix: refactor tags view / remove obsolete one 2024-11-05 10:11:15 +01:00
Andras Bacsai d4c3a27da7 refactor web.php 2024-11-03 22:20:44 +01:00
Andras Bacsai 4ed76f88f8 fix: destinations livewire refactor
removed unnecessary livewire components, renamed them ,etc etc
2024-11-03 22:19:41 +01:00
Andras Bacsai 2df27f3a4f fix: remove unnecessary endpoints (magic) 2024-11-03 21:27:39 +01:00
Lucas Michot 0c133b113c Delete some useless imports 2024-10-31 16:33:49 +01:00
Andras Bacsai 96ca72fcdb refactor server view (phuuu) 2024-10-30 20:03:30 +01:00