fix service templates and paths
This commit is contained in:
parent
19a1e3916f
commit
3ac11468a1
7 changed files with 70 additions and 30 deletions
|
|
@ -19,7 +19,10 @@ func (a *App) renderSystemdForProject(ctx context.Context, p Project) error {
|
|||
}
|
||||
envVars = []EnvVar{}
|
||||
}
|
||||
projectDir := filepath.Join(a.cfg.ProjectRoot, slugify(p.UserID), p.Workspace, p.Slug)
|
||||
projectDir, err := a.projectDirFor(p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := os.MkdirAll(projectDir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -27,6 +30,11 @@ func (a *App) renderSystemdForProject(ctx context.Context, p Project) error {
|
|||
if err := os.MkdirAll(dataDir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
binDir := filepath.Join(projectDir, "bin")
|
||||
if err := os.MkdirAll(binDir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
binaryPath := filepath.Join(binDir, "app")
|
||||
socketPath := filepath.Join(projectDir, "app.sock")
|
||||
envPath := filepath.Join(projectDir, ".env")
|
||||
|
||||
|
|
@ -58,6 +66,9 @@ func (a *App) renderSystemdForProject(ctx context.Context, p Project) error {
|
|||
if err := ensureOwnedByUnixUser(dataDir, p.UnixUser, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ensureOwnedByUnixUser(binDir, p.UnixUser, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ensureOwnedByUnixUser(envPath, p.UnixUser, 0o600); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -76,7 +87,7 @@ RestartSec=5
|
|||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
`, p.Name, dataDir, envPath, a.cfg.DefaultRunCommand)
|
||||
`, p.Name, dataDir, envPath, binaryPath)
|
||||
|
||||
homeDir, err := homeForUnixUser(p.UnixUser)
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue