Commit graph

763 commits

Author SHA1 Message Date
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
0e7cc988a6 feat(user): add changelog read tracking and unread count method 2025-08-12 10:06:19 +02:00
🏔️ Peak
e5e1bdcd4d
fix(backups): large database backups are not working (#6217) 2025-07-18 15:47:14 +02:00
Andras Bacsai
13f10028db feat(previews): implement soft delete and cleanup for ApplicationPreview, enhancing resource management in DeleteResourceJob 2025-07-14 21:17:40 +02:00
Andras Bacsai
bfac07da3c feat(migrations): add optimized indexes to activity_log for improved query performance 2025-06-26 22:21:07 +02:00
Andras Bacsai
8abb8b2328 feat(settings): add sponsorship popup toggle and corresponding database migration 2025-06-25 15:18:39 +02:00
Hauke Schnau
1968d4d494
feat(auth): add Zitadel OAuth Provider (#5490) 2025-06-18 14:35:54 +02:00
Yassir Elmarissi
a77bd88258
feat(auth): Add Clerk OAuth Provider (#5553) 2025-06-18 14:29:46 +02:00
Yassir Elmarissi
4375f52c5d
feat(auth): Add Discord OAuth Provider (#5552) 2025-06-18 14:19:01 +02:00
Andras Bacsai
bd9f3d9a69 feat(seeder): conditionally dispatch StartProxy action based on proxy check result 2025-06-17 08:11:02 +02:00
Andras Bacsai
423cf8f67d fix(seeder): conditionally dispatch CheckAndStartSentinelJob based on server's sentinel status 2025-06-17 08:10:19 +02:00
Andras Bacsai
ad8b5bdcd3 feat(seeder): add CheckAndStartSentinelJob dispatch for each server in ProductionSeeder 2025-06-16 15:03:10 +02:00
Andras Bacsai
cde3c697a7 feat(seeder): dispatch StartProxy action for each server in ProductionSeeder 2025-06-16 14:51:54 +02:00
Andras Bacsai
e2df86f0f2 fix(migration): update default value handling for is_sentinel_enabled column in server_settings 2025-06-16 14:49:01 +02:00
Andras Bacsai
e8e7b3bc59 feat(migration): add is_sentinel_enabled column to server_settings with default true 2025-06-16 14:38:01 +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
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
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
Andras Bacsai
debfcb7028 feat(migration): add 'is_migrated' and 'custom_type' columns to service_applications and service_databases tables 2025-04-30 16:43:59 +02:00
Andras Bacsai
785eb09ea3 chore(seeder): update git branch from 'main' to 'v4.x' for multiple examples in ApplicationSeeder 2025-04-30 10:31:09 +02:00
Andras Bacsai
78ef80f800 refactor 2025-04-23 13:22:01 +02:00
Andras Bacsai
9e608f7ba5 refactor(http-basic-auth): rename 'http_basic_auth_enable' to 'http_basic_auth_enabled' across application files for consistency 2025-04-22 21:30:27 +02:00
Christopher Kaster
2634f516d5
feat: Add HTTP Basic Authentication 2025-04-17 14:14:32 +02:00
Andras Bacsai
eda1e1899f fix(migrations): make stripe_comment field nullable in subscriptions table 2025-04-14 10:30:43 +02:00
Andras Bacsai
68bd945b09 refactor(Application): rename network_aliases to custom_network_aliases across the application for clarity and consistency 2025-04-09 08:42:50 +02:00
Andras Bacsai
f8607ddf6a
Merge branch 'next' into docker-network-aliases 2025-04-08 13:27:59 +02:00
Andras Bacsai
52d612a56a refactor(migration): enhance local file volumes migration with logging 2025-04-01 08:49:07 +02:00
Andras Bacsai
fcfd00eebe feat(application): add SPA configuration and update Nginx generation logic 2025-03-31 15:10:50 +02:00
Andras Bacsai
c7591fde15 refactor(database): remove debug output from volume update process 2025-03-30 20:07:56 +02:00
Andras Bacsai
a8018ad2c4 refactor(database): improve decryption and deduplication of local file volumes 2025-03-30 18:04:09 +02:00
Andras Bacsai
b376d6df2a reverting: encrypting mount and fs_path 2025-03-29 22:16:12 +01:00
Andras Bacsai
637c3982d1 feat(database): disable MongoDB SSL by default in migration 2025-03-26 09:45:57 +01:00
Andras Bacsai
abc7dd65ca refactor(database): enhance encryption process for local file volumes 2025-03-25 13:39:30 +01:00
Andras Bacsai
26f4d37346 feat(notifications): add discord ping functionality and settings 2025-03-21 12:16:33 +01:00
Andras Bacsai
009cee1bbd
Merge branch 'next' into feat-db-ssl 2025-03-17 15:15:24 +01:00
Andras Bacsai
8ebbe396f4 fix(database): change default value of enable_ssl to false for multiple tables 2025-03-17 13:58:31 +01:00
Piotr Wójcik
0baeaa982b
Merge branch 'next' into docker-network-aliases 2025-03-16 14:50:26 +01:00
peaklabs-dev
ee93ccd8e7
fix(backups): retention settings
- If you set a low local backup retention, for example 2 backups for local backup retention and 10 backups for S3, then the S3 backups were never deleted, not even after 10 days. This was because we check the file paths based on the backup executions table, and as soon as a backup was deleted locally, the execution was removed, which meant after 10 days for s3 there where no backups older then 10 days just the 2 local backups which is just wrong. Now we only delete a backup execution if it has been removed from both locations.
- Also added a nice little UI element to see where your backup is available.
2025-03-14 15:28:12 +01:00
Andras Bacsai
1160b3312e fix(seeder): Update GitHub app name in GithubAppSeeder 2025-03-11 13:28:26 +01:00
Andras Bacsai
07cbec7ddc feat(billing): Add Stripe past due subscription status tracking 2025-03-01 12:43:12 +01:00
Andras Bacsai
9c4395e6de feat(database): Add index to scheduled database backup executions 2025-02-27 14:04:22 +01:00
Andras Bacsai
cd1fc649e3 feat(database): Add index to scheduled task executions for improved query performance 2025-02-27 13:54:10 +01:00
peaklabs-dev
225f24e650
chore: improve code quality suggested by code rabbit 2025-02-19 18:04:58 +01:00
peaklabs-dev
792b1b889f
faet(migration): Add SSL fields to database tables 2025-02-10 15:32:05 +01:00
peaklabs-dev
a539bfd765
fix(ssl): server id 2025-02-07 18:45:12 +01:00
peaklabs-dev
836006798f
fix(ssl): remove caCert even if it is a folder by accident 2025-02-07 18:28:58 +01:00
peaklabs-dev
35cd9573ab
fix(ssl): add mount path to DB to fix regeneration of certs 2025-02-07 18:11:26 +01:00
peaklabs-dev
d6a39f2ed3
fix(ssl): always create ca crt on disk even if it is already there 2025-02-04 16:57:40 +01:00
peaklabs-dev
3c62130e86
fix(ssl): improve SSL cert file mounts
- If SSL is disabled, delete the SSL crt and file mounts in the DB
- If SSL is disabled, delete the SSL folder
- If SSL is enabled, make sure the file mounts are added inside the helper
- remove old file mounts first to make sure the ssl crt content is always up to date and no duplicates are added
2025-02-04 16:34:24 +01:00
peaklabs-dev
fba95c3729
fix(migration): store subjectAlternativeNames as a json array in the db 2025-02-03 22:35:00 +01:00
peaklabs-dev
498bf04559
feat(migration): add CN and alternative names to DB 2025-02-03 22:05:32 +01:00
peaklabs-dev
a1e650e699
chore: rename ca crt folder to ssl 2025-02-03 21:42:28 +01:00
peaklabs-dev
4305ba5f06
fix(migration): ssl certificates table
- remove unique constraint
- add CA certificate boolean
- make sure that each certificate has a server_id so that we know which CA to use when renewing certificates
2025-02-02 14:56:26 +01:00
peaklabs-dev
7406ee67c2
chore(ssl): rename CA cert to coolify-ca.crt because of conflicts 2025-01-31 18:27:20 +01:00
peaklabs-dev
34216af497
fix(db): SSL certificates table and model
- server_id is a foreign id
- server_id must be unique as each server can only have 1 CA cert
- resource_id must be unique as each resource can only have 1 SSL cert
2025-01-31 12:35:34 +01:00
peaklabs-dev
503e1ffb67
feat(seeder): Call CA SSL seeder in prod and dev 2025-01-31 12:23:59 +01:00
peaklabs-dev
90a93ce7e0
feat(ssl): add a Coolify CA Certificate to all servers 2025-01-31 12:23:00 +01:00
peaklabs-dev
22c26cdf78
chore(migration): ssl cert and key should not be nullable 2025-01-30 19:52:49 +01:00
peaklabs-dev
b53d3d07d9
fix(ssl): make default ssl mode require not verify-full as it does not need a ca cert 2025-01-30 19:09:37 +01:00
peaklabs-dev
2ac9147532
chore(migration): remove unused columns 2025-01-30 14:16:52 +01:00
peaklabs-dev
edddbc8536
feat(migration): encrypt local file volumes content and paths 2025-01-30 13:54:00 +01:00
peaklabs-dev
214a7a089e
feat(migration): Add ssl setting to standalone_postgresqls table 2025-01-29 13:04:27 +01:00
peaklabs-dev
3f582a1ea4
feat(migration): Add ssl_certificates table and model 2025-01-29 13:03:13 +01:00
Andras Bacsai
085103708c fix(core): v1 parser versions trying to access application_id, while it is resourceable_id
fix(db): remove wrongly created, empty environmentvariables
2025-01-22 10:21:51 +01:00
peaklabs-dev
4197104026
fix(db): finished_at timestamps are not set for existing deployments 2025-01-21 14:02:29 +01:00
Andras Bacsai
ca2c66943c fix 2025-01-17 14:00:20 +01:00
Andras Bacsai
6e9960c010 revert revert so it will be good (say what?) 2025-01-17 13:44:37 +01:00
Andras Bacsai
56ae346b9d test 2025-01-17 13:22:04 +01:00
Andras Bacsai
d043fbfeb9 refactor: streamline ProductionSeeder by removing debug logs and unnecessary checks, while ensuring essential seeding operations remain intact 2025-01-17 12:33:03 +01:00
Andras Bacsai
10b3c6b107 fix: update ProductionSeeder to check for private key instead of server's private key 2025-01-17 12:24:31 +01:00
Andras Bacsai
d3a6576a06 fix: create the private key before the server in the prod seeder 2025-01-17 12:14:03 +01:00
Andras Bacsai
973429d2c4 add debug logs 2025-01-17 11:38:22 +01:00
Andras Bacsai
95ccf23e9d refactor: comment out RootUserSeeder call in ProductionSeeder for clarity 2025-01-17 11:19:45 +01:00
Andras Bacsai
254e32a6bc fix: root user seeder should be the last (why? no idea. we will figure it out)
version ++
2025-01-17 11:06:09 +01:00
Andras Bacsai
8f32c32bc7
Merge pull request #4847 from coollabsio/feat-create-initial-user-via-env
feat: Ability to create root user via environment variables
2025-01-16 22:19:25 +01:00
peaklabs-dev
a43805e24b
fix: silent return if envs are empty or not set. 2025-01-16 22:02:02 +01:00
peaklabs-dev
ca56b1462d
fix: success message 2025-01-16 19:09:18 +01:00
peaklabs-dev
5f581a8eac
Update RootUserSeeder.php 2025-01-16 18:43:40 +01:00
peaklabs-dev
3f3b782e60
disable existing user check to check the full functionality of the seeder 2025-01-16 18:39:50 +01:00
peaklabs-dev
e9d688d5ee
fix: add spacing around echo outputs 2025-01-16 18:33:54 +01:00
peaklabs-dev
0ced6a4376
feat: improved error handling and log output 2025-01-16 18:29:00 +01:00
peaklabs-dev
c925ff049d
fix: regex username validation 2025-01-16 18:14:45 +01:00
peaklabs-dev
9288e60174
feat: email, username and password validation when they are set via envs 2025-01-16 18:07:40 +01:00
peaklabs-dev
4b6690e599
fix: RootUserSeeder
- ensure that the existing root user is not overwritten
- ensure that the seeder can only be run once - creating the initial root user
2025-01-16 17:51:26 +01:00
peaklabs-dev
3927e4850b
fix: disable registration after creating the root user 2025-01-16 17:34:46 +01:00
peaklabs-dev
b6633f083e
feat: Root user envs and seeding 2025-01-16 17:19:38 +01:00
peaklabs-dev
30f36f96db
fix: use finished_at for the end time instead of created_at 2025-01-16 15:12:57 +01:00
peaklabs-dev
47be82afc3
Merge branch 'docker-cleanup-executions-ui' of https://github.com/peaklabs-dev/coolify into docker-cleanup-executions-ui 2025-01-16 14:42:58 +01:00
peaklabs-dev
8bcd1449d2
chore: remove limit on commit message 2025-01-16 14:42:33 +01:00
🏔️ Peak
11d1a9e6fd
Merge branch 'next' into docker-cleanup-executions-ui 2025-01-16 14:41:23 +01:00
Andras Bacsai
55d61ffaee fix: add finished_at to app deployment jobs
fix: show deployment job running measurements
fix: terminal should not be wire:navigated
2025-01-16 12:05:59 +01:00
peaklabs-dev
4986485448
fix: use json as it is just better than string for huge amount of logs 2025-01-15 19:56:01 +01:00
peaklabs-dev
52abc7cc92
feat: DB and Model for docker cleanup executions 2025-01-15 17:11:15 +01:00
Andras Bacsai
b01ea8b46d
Merge pull request #4818 from peaklabs-dev/feat-backup-retention
Feat: Improve backup retention (for database backups)
2025-01-14 09:10:33 +01:00
Andras Bacsai
6a8cc0f80d
Merge branch 'next' into fix-cloning 2025-01-14 08:50:22 +01:00
peaklabs-dev
e9f691bf45
fix: storage retention setting
- feat: add storage retention to local storage as well
- fix: UI input for max storage now allows exact decimals so MB input is now also possible
- fix: Database column is now decimal instead of integer
- fix: variable naming of storage check no longer overwrites $backup - renamed it to $backupExecution
2025-01-13 19:49:12 +01:00
peaklabs-dev
04bcf01619
feat: DB migration for Backup retention
- rename number_of_backups_locally to database_backup_retention_amount_locally
- add backup retention days to local stored backups
- add s3 retention fields
2025-01-13 16:35:58 +01:00
Andras Bacsai
a396d51452
Merge branch 'next' into hotfix 2025-01-10 20:23:29 +01:00
Andras Bacsai
02400added fix: horizon job checker 2025-01-10 18:27:48 +01:00
Andras Bacsai
765e1ea04b feat: add horizon server details to queue 2025-01-10 15:39:22 +01:00
peaklabs-dev
3d4e8b9867
chore: switch up readonly lables to make more sense 2025-01-08 17:05:11 +01:00
Piotr Wojcik
9acde06795 Custom network aliases for Dockerfile and Docker Image apps 2025-01-05 07:47:57 +01:00
Andras Bacsai
f575d1249e Merge branch 'main' into next 2024-12-27 11:09:29 +01:00
peaklabs-dev
6dc87498de
fix: error message 2024-12-23 17:58:56 +01:00
peaklabs-dev
0a851ec3f2
fix: only encrypt instance email settings if there are any 2024-12-23 17:41:38 +01:00
peaklabs-dev
d7a0794bd9
fix: instance settings migration 2024-12-23 17:15:46 +01:00
peaklabs-dev
68362d05b3
fix: Oauth seeder 2024-12-23 16:08:10 +01:00
peaklabs-dev
a18c2e0f55
feat: migrate to new encryption options 2024-12-23 15:25:07 +01:00
🏔️ Peak
f92ddd77f3
Merge branch 'next' into fix-docker-cleanup-notifications 2024-12-17 15:25:20 +01:00
peaklabs-dev
5fa636dd43
feat: add server disk usage check frequency 2024-12-17 15:20:28 +01:00
Andras Bacsai
bf9d89f279
Merge branch 'next' into fix-environement-route 2024-12-17 12:17:50 +01:00
peaklabs-dev
99947422c2
fix: Oauth seeder 2024-12-17 10:43:31 +01:00
Andras Bacsai
2a9d499251 feat: migrate env variables to polymorphic relationship
fix: proxy status query ui
2024-12-17 10:38:42 +01:00
🏔️ Peak
2972a29ccc
Merge branch 'next' into oauth 2024-12-16 18:24:11 +01:00
Andras Bacsai
65ba6b947a fix: oauthseeder 2024-12-16 09:48:41 +01:00
Zao Soula
c5f365e384 feat: add infomaniak oauth 2024-12-15 01:30:37 +01:00
peaklabs-dev
a16cbdf557
fix: resend api key is already a text column 2024-12-13 11:42:01 +01:00
peaklabs-dev
5087906b24
fix: encrypt resend API key in instance settings 2024-12-13 11:35:44 +01:00
Andras Bacsai
a53a1349e3 fix: improve OauthSettingSeeder to correctly delete non-existent providers and ensure proper handling of provider definitions 2024-12-13 09:31:35 +01:00
Andras Bacsai
a80d17e097 fix: update OauthSettingSeeder to handle new provider definitions and ensure authentik is recreated if missing 2024-12-13 09:13:23 +01:00
Andras Bacsai
8a195c8cfb refactor: change OauthSetting creation to updateOrCreate for better handling of existing records 2024-12-13 09:04:46 +01:00
Andras Bacsai
2053fed8a7 fix: oauth seeder 2024-12-12 10:04:12 +01:00
Andras Bacsai
fba7f6f585 refactor: change email column types in instance_settings migration from string to text 2024-12-12 10:03:31 +01:00
Andras Bacsai
147240b527 Merge branch 'next' into authentik 2024-12-12 08:45:38 +01:00
peaklabs-dev
f88438edd3
chore: rename topicID to threadId like in the telegram API response 2024-12-11 23:13:13 +01:00
Andras Bacsai
09746aa877 fix: update token permission check from 'write' to 'root' 2024-12-11 21:38:31 +01:00
peaklabs-dev
a7330fe52b
fix: create pushover settings for existing teams 2024-12-11 19:43:58 +01:00
peaklabs-dev
92fec9582c
fix: make pushover settings more clear
- Rename User to User Key
- Rename Token to API Token
- fix: helper and docs links
2024-12-11 19:18:39 +01:00
Zao Soula
ef35429533 feat(notification): add Pushover 2024-12-11 18:13:16 +01:00
peaklabs-dev
737f70387c
fix: seeder
- do not hardcode IDs as this is bad practice.
- Use update or create to allow the seeder to be run multiple times.
2024-12-11 17:27:36 +01:00
peaklabs-dev
aeb97401ba
fix: database migration 2024-12-11 17:19:49 +01:00
🏔️ Peak
d9aefae207
Merge branch 'next' into feature/authentik-provider 2024-12-11 15:24:26 +01:00
Andras Bacsai
9ffae89a71 fix: remove resale_license from db as well 2024-12-11 12:04:58 +01:00
Andras Bacsai
c08423395c fixes 2024-12-11 11:37:56 +01:00
Andras Bacsai
fcc94e6306 fixes 2024-12-11 11:28:56 +01:00
Andras Bacsai
1257ab6ff4 fix: ui + migrations 2024-12-11 10:14:12 +01:00
Andras Bacsai
368c88829a Merge branch 'next' into separate-success-and-failure-notifications 2024-12-11 08:42:35 +01:00
🏔️ Peak
7ec25ce4dd
Merge branch 'next' into fix-migration 2024-12-10 18:33:25 +01:00
peaklabs-dev
cfae39a517
Update 2024_06_11_081614_add_www_non_www_redirect.php 2024-12-10 18:31:40 +01:00
🏔️ Peak
e24fbddc59
Merge branch 'next' into separate-success-and-failure-notifications 2024-12-10 16:40:20 +01:00
peaklabs-dev
3b5e714ed9
feat: add docker cleanup success and failure notification settings columns 2024-12-10 16:04:11 +01:00
peaklabs-dev
d62962ae6f
fix: encryption fixes
- some email columns changed to text to make sure the can hold encrypted values
- added backwards compatible encryption in up function and decryption in down function.
- use updateOrInsert instead of just insert to avoid errors if the column already exists.
2024-12-10 13:42:26 +01:00
peaklabs-dev
b17a61a043
feat: encrypt instance email settings 2024-12-10 13:34:17 +01:00
Andras Bacsai
3893754a10 fix confs etc 2024-12-10 10:46:05 +01:00
peaklabs-dev
2639cf7544
fix: slack and discord url now uses text filed because encryption makes the url very long 2024-12-09 19:44:10 +01:00
🏔️ Peak
fdf757c7ae
Merge branch 'next' into separate-success-and-failure-notifications 2024-12-09 18:15:41 +01:00
peaklabs-dev
586a1a86f0
chore: some reordering 2024-12-09 13:27:58 +01:00
peaklabs-dev
0c08e11b53
feat: some more notification settings and better defaults
- add reachable and unreachable notifications
- add docker cleanup notifications
- better defaults
2024-12-09 13:11:12 +01:00
peaklabs-dev
d9248508b4
chore: remove unused waitlist stuff 2024-12-09 12:00:54 +01:00
Andras Bacsai
ff74fb7385 feat: introduce root permission 2024-12-09 10:52:38 +01:00