mirror of
https://github.com/whyour/qinglong.git
synced 2026-07-01 04:40:38 +08:00
Add non-root Docker user support with automatic command setup (#2830)
* Initial plan * Add non-root user guide and improve error messages Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Add PM2_HOME configuration to fix non-root user permission errors Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Fix PM2 socket error by using /tmp for PM2_HOME instead of mounted volume Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Document symlink permission limitation for non-root users Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Clarify that scheduled tasks auto-adapt to use full paths when symlinks unavailable Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Add error handling for symlink creation to prevent worker crashes Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Add practical solutions for non-root users to use ql and task commands Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Modify linkCommand to create symlinks in ~/bin for non-root users Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * 修复链接 task 命令 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> Co-authored-by: whyour <imwhyour@gmail.com>
This commit is contained in:
+13
-2
@@ -669,12 +669,23 @@ export default class CronService {
|
||||
|
||||
await writeFileWithLock(config.crontabFile, crontab_string);
|
||||
|
||||
execSync(`crontab ${config.crontabFile}`);
|
||||
try {
|
||||
execSync(`crontab ${config.crontabFile}`);
|
||||
} catch (error: any) {
|
||||
const errorMsg = error.message || String(error);
|
||||
this.logger.error('[crontab] Failed to update system crontab:', errorMsg);
|
||||
}
|
||||
|
||||
await CrontabModel.update({ saved: true }, { where: {} });
|
||||
}
|
||||
|
||||
public importCrontab() {
|
||||
exec('crontab -l', (error, stdout, stderr) => {
|
||||
exec('crontab -l', (error, stdout) => {
|
||||
if (error) {
|
||||
const errorMsg = error.message || String(error);
|
||||
this.logger.error('[crontab] Failed to read system crontab:', errorMsg);
|
||||
}
|
||||
|
||||
const lines = stdout.split('\n');
|
||||
const namePrefix = new Date().getTime();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user