Skip to content

Commit da2e307

Browse files
committed
fix template path issue
1 parent 3a350c6 commit da2e307

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

pmcompose.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,15 @@ func main() {
7272
}
7373
cfg.SecretKey = secretKey
7474

75-
tmpl, err := template.ParseFiles("pmcompose_templates/docker-compose.yaml.tmpl")
75+
dir, err := utils.GetExecutableDir()
76+
if err != nil {
77+
fmt.Printf("Error: %v\n", err)
78+
return
79+
}
80+
81+
templatePath := fmt.Sprintf("%s/pmcompose_templates/docker-compose.yaml.tmpl", dir)
82+
83+
tmpl, err := template.ParseFiles(templatePath)
7684
if err != nil {
7785
fmt.Println("Error loading template:", err)
7886
return

utils/utils.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ package utils
22

33
import (
44
"crypto/rand"
5+
"fmt"
56
"math/big"
7+
"os"
8+
"path/filepath"
69
"strings"
710
)
811

@@ -31,3 +34,17 @@ func GenerateSecretString(length int) (string, error) {
3134

3235
return sb.String(), nil
3336
}
37+
38+
func GetExecutableDir() (string, error) {
39+
execPath, err := os.Executable()
40+
if err != nil {
41+
return "", fmt.Errorf("failed to get executable path: %w", err)
42+
}
43+
44+
realPath, err := filepath.EvalSymlinks(execPath)
45+
if err != nil {
46+
return "", fmt.Errorf("failed to resolve symlinks: %w", err)
47+
}
48+
49+
return filepath.Dir(realPath), nil
50+
}

0 commit comments

Comments
 (0)