Commit Graph
41 Commits
Author SHA1 Message Date
Andras Bacsai 1a2a5362ad fix(security): secure remote command secrets and clone volume data 2026-10-27 09:47:18 +01:00
Andras Bacsai 448dc8ea0a feat(logging): strengthen secret redaction and add admin controls (#12151) 2026-10-13 20:43:19 +02:00
Andras BacsaiandClaude Opus 5.5 1ee34a5ab2 fix(database-import): stop the restore when the import task fails or loses SSH
An import task can now run until the SSH command timeout (capped below the
Horizon worker timeout). When the CoolifyTask fails, times out, or its SSH
command ends with 124/255, Coolify stops the restore in the database
container and keeps the import in progress until the stop has run, so the
database stays blocked. The restore reports its own 124/255 as 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:00:29 +02:00
Andras Bacsai 9e7cb60b0d feat: add import restore options, OAuth confirmation, and fixes
- database import: add keep_owners (restore PostgreSQL owners and
  privileges) and sqlite_database (pick the target SQLite file) to the
  API, OpenAPI spec, and import form
- oauth: require password confirmation and support team selection on
  OAuth login
- remote process: send team broadcast events to the team of the server
  that ran the process instead of the causer's user id
- servers API: handle the legacy build server setting
- compose: support parent bind paths and volume driver options
- dns: improve record hints and provider management
- notifications: fix throttling and missing backup notifications
- ui: rework the confirmation modal
- add feature and unit tests for the new behavior
2026-09-30 13:35:22 +02:00
Andras BacsaiandClaude Opus 5.5 f540c49f68 fix(security): encrypt stored remote commands and remove them after the final attempt
remote_process() stored the full shell command as plain text in
activity_log and kept it for 60 days. Database starts store the compose file
with the database passwords, imports store S3 keys, and the Cloudflare
tunnel setup stores its token.

- Store the command encrypted. The queue worker decrypts it right before the
  SSH call and still reads plain commands of tasks queued before the upgrade.
- Remove the command when the task is finished: after a successful run, in
  failed() when no attempt is left, and for a stopped import. A failed attempt
  that the queue retries keeps it.
- Do not write a command preview into the error log.
- Migration: remove stored commands from activities that no longer run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 11:41:56 +02:00
Andras BacsaiandClaude Opus 5.5 8246492bb9 fix(databases): stop and clean up interrupted or stale imports
- Imports store their cleanup data (names and paths, no credentials)
  on the activity. When Coolify fails an import after a restart or as
  stale, it queues a stop of the restore inside the database container
  (only processes of that operation and their children, bottom-up so
  the database server is not affected) and the normal cleanup.
- The cleanup runs once per import, and a stopped CoolifyTask does
  not run again when the queue retries it.
- The stop message stays on the activity: RunRemoteProcess saves the
  process id at start from the stored properties and keeps a stop
  status at the end, and CoolifyTask::failed() keeps the message.
- Regenerate the OpenAPI spec (409 for database start, restart, and
  import, plus earlier API changes that were missing).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 22:18:17 +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 e062edb689 refactor(core): streamline container stopping process and reduce timeout duration; update related methods for consistency 2025-04-30 15:28:59 +02:00
Andras Bacsai dd2d306abc feat: force deployment of services
fix: added advanced ui dropdown to services
2025-01-13 12:03:03 +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 695ab93cf0 fixes 2024-11-06 15:16:12 +01:00
Lucas Michot 8e1444eaa7 Get rid of many useless blank lines 2024-10-31 17:44:01 +01:00
Lucas Michot d557a22b91 Remove all ray() calls 2024-10-28 13:51:23 +01:00
Andras Bacsai b570ccd7d3 format 2024-09-23 19:51:31 +02:00
peaklabs-dev 144508218e Fix: SSH multiplexing 2024-09-17 12:26:11 +02:00
Andras Bacsai 58fc897ea5 fix: run user commands on high prio queue 2024-06-25 10:51:32 +02:00
Thijmen d86274cc37 Fix styling 2024-06-10 20:43:34 +00:00
Andras Bacsai 07e801f44d refactor: Remove unnecessary debug statements and improve code structure in RunRemoteProcess.php and ApplicationDeploymentJob.php 2024-05-30 10:14:48 +02:00
Andras Bacsai df2bcdb854 refactor new deployment job 2024-05-29 15:28:03 +02:00
Andras Bacsai df9ec711c5 fix: JSON_UNESCAPED_UNICODE 2024-05-23 11:58:54 +02:00
Andras Bacsai 1835a91467 fix: proxy switch 2024-03-12 12:30:40 +01:00
Andras Bacsai 2509406d1c fix: startproxy event
fix: add data to async remove processes
2024-03-12 11:22:02 +01:00
Andras Bacsai 6bb79e10bc fix: double ws connection 2023-12-08 22:51:42 +01:00
Andras Bacsai 205995cabe stop status event 2023-12-08 13:07:42 +01:00
Andras Bacsai b55bd298f2 fix: service navbar using new realtime events 2023-12-08 12:12:44 +01:00
Andras Bacsai da4c2ee60f fix: boarding
fix: error handling
fix: restarting state
2023-09-15 15:34:25 +02:00
Andras Bacsai 54a57d217f fix: ssh-agent revert 2023-09-15 12:30:25 +02:00
Andras Bacsai 17c0e91a0d feat: ssh-agent instead of filesystem based ssh keys 2023-09-14 10:12:58 +02:00
Andras Bacsai 1efb1235b4 fix: add timeout for ssh commands 2023-09-13 13:00:16 +02:00
Andras Bacsai 64a65e2018 fix: errors 2023-09-11 17:36:30 +02:00
Andras Bacsai 82a01b4483 format muhahaha 2023-08-11 20:48:52 +02:00
Andras Bacsai f2228cec7b testing php storm code cleanup and styling 2023-08-08 11:51:36 +02:00
Andras Bacsai 9c5dce925e wip 2023-06-30 22:24:39 +02:00
Andras Bacsai 6e084db3d9 ignore command center errors 2023-06-07 15:39:08 +02:00
Andras Bacsai 167379b0e0 fix 2023-05-24 15:25:08 +02:00
Andras Bacsai a0306f3951 fix 2023-05-24 15:19:39 +02:00
Andras Bacsai 6e7ee0ca48 a ton 👷‍♂️ 2023-05-24 14:26:50 +02:00
Joao Patricio 7c884797d1 wip 2023-05-03 07:25:50 +01:00
Joao Patricio 79a850f3b9 wip 2023-05-03 07:24:34 +01:00
Joao Patricio e7763f3b73 Refactor for CoolifyTask. 2023-05-03 06:15:45 +01:00