single restart on deploy

This commit is contained in:
2026-01-14 12:20:18 +00:00
parent 798909b9b9
commit 96e63ded24

20
main.go
View File

@@ -1047,7 +1047,7 @@ func runSetup() error {
defer closeSSHControlMaster(ctx.serverIP) defer closeSSHControlMaster(ctx.serverIP)
start := time.Now() start := time.Now()
if err := performSetup(ctx); err != nil { if err := performSetup(ctx, true); err != nil {
return err return err
} }
@@ -1056,7 +1056,7 @@ func runSetup() error {
return nil return nil
} }
func performSetup(ctx *deploymentContext) error { func performSetup(ctx *deploymentContext, restart bool) error {
step := 1 step := 1
printStep(step, totalSetupSteps, "validating configuration") printStep(step, totalSetupSteps, "validating configuration")
remoteOS, err := runSSHOutput(ctx.serverIP, "uname -s") remoteOS, err := runSSHOutput(ctx.serverIP, "uname -s")
@@ -1103,6 +1103,12 @@ func performSetup(ctx *deploymentContext) error {
return fmt.Errorf("systemd override failed: %w", err) return fmt.Errorf("systemd override failed: %w", err)
} }
if restart {
if err := restartPocketBaseService(ctx); err != nil {
return err
}
}
return nil return nil
} }
@@ -1131,7 +1137,7 @@ func runDeploy() error {
if prompted { if prompted {
start = time.Now() start = time.Now()
} }
if err := performSetup(ctx); err != nil { if err := performSetup(ctx, false); err != nil {
return err return err
} }
} }
@@ -1793,9 +1799,8 @@ ExecStart = %s/pocketbase serve --http=127.0.0.1:${PORT} --dir=${DATA_DIR
WantedBy = multi-user.target WantedBy = multi-user.target
EOF EOF
systemctl daemon-reload systemctl daemon-reload
systemctl --no-block enable --now pb@%s systemctl --no-block enable pb@%s
systemctl --no-block restart pb@%s `, serviceDir, serviceDir, serviceDir, envFile, serviceDir, serviceDir, serviceDir, serviceDir, serviceName)
`, serviceDir, serviceDir, serviceDir, envFile, serviceDir, serviceDir, serviceDir, serviceDir, serviceName, serviceName)
} }
func systemdOverrideScript(serviceName string, port int, volume string) string { func systemdOverrideScript(serviceName string, port int, volume string) string {
@@ -1808,8 +1813,7 @@ Environment=PORT=%d
Environment=DATA_DIR=%s Environment=DATA_DIR=%s
EOF EOF
systemctl daemon-reload systemctl daemon-reload
systemctl --no-block restart pb@%s `, serviceName, port, volume)
`, serviceName, port, volume, serviceName)
} }
func systemdRestartScript(serviceName string) string { func systemdRestartScript(serviceName string) string {