Commit graph

205 commits

Author SHA1 Message Date
Andras Bacsai
3962f1a5b9 perf: Remove dead server filtering code from Kernel scheduler
Remove unused server filtering logic in Kernel.php that was querying servers
but never using the results. Simplify Sentinel update checks in ServerManagerJob
by reusing the $isSentinelEnabled variable and removing unnecessary timezone
parameter for hourly cron execution.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 10:33:55 +01:00
Andras Bacsai
945cce9587 feat: Add scheduled job to cleanup orphaned PR containers
Add CleanupOrphanedPreviewContainersJob that runs daily to find and remove any PR preview containers that weren't properly cleaned up when their PR was closed.

The job:
- Scans all functional servers for containers with coolify.pullRequestId label
- Checks if the corresponding ApplicationPreview record exists in the database
- Removes containers where the preview record no longer exists (truly orphaned)
- Acts as a safety net for webhook failures or race conditions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 17:15:52 +01:00
Andras Bacsai
4002044877 Refactor: Move sentinel update checks to ServerManagerJob and add tests for hourly dispatch 2025-12-04 14:58:18 +01:00
Andras Bacsai
8c77c63043 feat(proxy): add Traefik version tracking with notifications and dismissible UI warnings
- Add automated Traefik version checking job running weekly on Sundays
- Implement version detection from running containers and comparison with versions.json
- Add notifications across all channels (Email, Discord, Slack, Telegram, Pushover, Webhook) for outdated versions
- Create dismissible callout component with localStorage persistence
- Display cross-branch upgrade warnings (e.g., v3.5 -> v3.6) with changelog links
- Show patch update notifications within same branch
- Add warning icon that appears when callouts are dismissed
- Prevent duplicate notifications during proxy restart by adding restarting parameter
- Fix notification spam with transition-based logic for status changes
- Enable system email settings by default in development mode
- Track last saved/applied proxy settings to detect configuration drift
2025-11-14 11:35:22 +01:00
Andras Bacsai
d2ed68e605 refactor(jobs): pull github changelogs from cdn instead of github 2025-09-01 16:13:55 +02:00
Andras Bacsai
7d10711a65 fix(servercheck): Properly check server statuses with and without Sentinel 2025-08-22 11:50:56 +02:00
Andras Bacsai
a2ef545b6b feat(changelog): implement automated changelog fetching from GitHub and enhance changelog read tracking 2025-08-12 10:07:11 +02:00
Andras Bacsai
fbe98cfd11 refactor(scheduling): replace deprecated job checks with ScheduledJobManager and ServerResourceManager for improved scheduling efficiency 2025-07-12 14:44:52 +02:00
Andras Bacsai
36fe235bea feat(logging): implement scheduled logs command and enhance backup/task scheduling with cron checks 2025-07-11 15:10:55 +02:00
Andras Bacsai
ecbfaa9a8a fix(scheduling): change redis cleanup command frequency from hourly to weekly for better resource management 2025-07-08 10:57:09 +02:00
Andras Bacsai
6ea6d2742b feat(server): implement server patch check notifications
- Added a new job, ServerPatchCheckJob, to handle server patch checks and notifications.
- Introduced a new notification class, ServerPatchCheck, for sending updates via email, Discord, Slack, Pushover, and Telegram.
- Updated notification settings models to include server patch notification options for email, Discord, Slack, Pushover, and Telegram.
- Created a migration to add server patch notification fields to the respective settings tables.
- Enhanced the UI to allow users to enable/disable server patch notifications across different channels.
2025-05-26 14:03:59 +02:00
Péter Gyarmati
9939b10e5a
feat(service): add Marimo service (#5559) 2025-05-14 14:43:39 +02:00
Andras Bacsai
9d56d06352 feat(redis): add scheduled cleanup command for Redis keys and enhance cleanup logic 2025-05-07 22:09:25 +02:00
🏔️ Peak
9557957f18
Merge branch 'next' into feat-db-ssl 2025-02-19 17:57:59 +01:00
Andras Bacsai
694b0ac249 feat(core): add error logging and cron parsing to docker/server schedules 2025-02-15 13:21:23 +01:00
peaklabs-dev
852be5fd93
feat(ssl): check for SSL renewal twice daily 2025-02-05 22:11:10 +01:00
Andras Bacsai
0e94a4a472 fix: add own servers on cloud 2025-01-13 09:17:54 +01:00
Andras Bacsai
a396d51452
Merge branch 'next' into hotfix 2025-01-10 20:23:29 +01:00
Andras Bacsai
5c8b26d446 fix 2025-01-10 12:31:20 +01:00
Andras Bacsai
b09f0043d1 fix: restrict jobs on cloud
fix: restrict sentinel endpoint
2025-01-10 11:54:45 +01:00
Andras Bacsai
1fe4dd722b Revert "rector: arrrrr"
This reverts commit 16c0cd10d8.
2025-01-07 15:31:43 +01:00
Andras Bacsai
da07b4fdcf refactor: rename parameter in DatabaseBackupJob for clarity 2025-01-07 15:21:14 +01:00
Andras Bacsai
16c0cd10d8 rector: arrrrr 2025-01-07 14:52:08 +01:00
Andras Bacsai
4d18e3372d fix: scheduled tasks and backups are executed by server timezone. 2025-01-03 20:32:56 +01:00
peaklabs-dev
f2d0f46248
fix: always use docker cleanup frequency 2024-12-17 15:20:06 +01:00
Andras Bacsai
4901b12279 fix: service status indicator + oauth saving 2024-12-13 12:03:10 +01:00
Andras Bacsai
18d5dd3090 Refactor server timezone retrieval in checkResources method 2024-11-26 10:44:09 +01:00
Andras Bacsai
f0a44f4022 fix: servercheckJob should run every 5 minutes on cloud 2024-11-25 14:37:44 +01:00
Andras Bacsai
886893cb04 fix: remove mux cleanup 2024-11-23 23:38:31 +01:00
Andras Bacsai
8a917f6a4e fix: invalid tz should not prevent other jobs to be executed 2024-11-14 10:56:56 +01:00
Andras Bacsai
2b518e2291 refactor a few jobs 2024-11-07 09:16:58 +01:00
Andras Bacsai
33519bf629 fix: run resourceCheck after new serviceCheckJob 2024-11-07 09:13:19 +01:00
Andras Bacsai
695ab93cf0 fixes 2024-11-06 15:16:12 +01:00
Andras Bacsai
4b3bf832f5 only get enabled scheduled tasks 2024-11-06 12:46:28 +01:00
Andras Bacsai
6987951efe add new resource check to kernel.php 2024-11-03 14:53:44 +01:00
Andras Bacsai
9ff73d62e1 fix: queries in kernel.php 2024-11-03 14:18:43 +01:00
Andras Bacsai
ed03cd33b0 fix: only run server storage every 10 mins if sentinel is not active 2024-11-03 09:10:36 +01:00
Andras Bacsai
ca7c214775 fix: new way to update container statuses 2024-11-03 09:02:14 +01:00
Andras Bacsai
1c9844cc87 Refactor Kernel.php to improve server scheduling logic 2024-11-02 12:38:22 +01:00
Andras Bacsai
27b0c02ba9 Refactor cleanup:database command signature to include optional --keep-days parameter 2024-11-01 23:52:43 +01:00
Andras Bacsai
8fbd0b44d5 Refactor Server model to remove SSH multiplexing file and add ServerCleanupMux job
- Remove SSH multiplexing file from the Server model
- Add ServerCleanupMux job to cleanup multiplexed connections every hour
2024-10-30 21:33:06 +01:00
Andras Bacsai
c2a2757103 fix: restart sentinel once a day 2024-10-29 10:28:05 +01:00
Lucas Michot
d557a22b91 Remove all ray() calls 2024-10-28 13:51:23 +01:00
Andras Bacsai
8c96ab52d7 feat: notification rate limiter
fix: limit server up / down notification limits
2024-10-25 15:13:23 +02:00
Andras Bacsai
254bae9dbd Refactor variable and function names for consistency 2024-10-25 11:40:59 +02:00
Andras Bacsai
cec77abaa8 Refactor server setting model to use waitBeforeDoingSshCheck method 2024-10-22 14:49:23 +02:00
Andras Bacsai
2e9ce3ed2a feat: add notification settings to server_disk_usage 2024-10-22 14:47:01 +02:00
Andras Bacsai
e8c7d7f972 fix: pull helper image on helper_version change 2024-10-21 12:06:13 +02:00
Andras Bacsai
d446cd4f31 sentinel updates 2024-10-15 13:39:19 +02:00
Andras Bacsai
b2e515f770 sentinel 2024-10-14 13:32:36 +02:00