feat(engine): podman native — auto-detect runtime (docker→podman), compose mengikuti engine, doctor engine-agnostic
CI / test (push) Successful in 25s

This commit is contained in:
oxpoe committed 2026-10-16 02:08:37 +07:00
1 parent 1b9a406aa7
commit 0551fb1387
12 files changed
+292 -60

No files matched your search

+17 -14
View File
@@ -147,6 +147,8 @@ type Model struct {
compose *docker.ComposeClient
engine docker.Info
engineName string
stacksDir string
stacks []stack.Stack
stacksID int64
@@ -178,7 +180,7 @@ func New() Model {
i18n.SetLang(cfg.UI.Language)
theme.Init(theme.Mode(cfg.UI.ThemeMode), cfg.UI.ThemeAccent)
cl, err := docker.New()
cl, engineInfo, err := docker.Detect(cfg.Docker.Host)
host, _ := os.Hostname()
m := Model{
sound: audio.New(audio.Options{
@@ -186,19 +188,20 @@ func New() Model {
Volume: cfg.UI.SoundVolume,
MuteOnSSH: cfg.UI.SoundMuteOnSSH,
}),
tickID: animation.NewID(),
animating: cfg.UI.AnimationEnabled,
toast: components.NewToast(),
view: viewHome,
section: sectionStacks,
focus: focusSidebar,
tab: tabLogs,
hostname: host,
sys: sysinfo.Read(),
cl: cl,
compose: docker.NewCompose(cfg.Docker.ComposeCommand),
stacksDir: config.ExpandPath(cfg.StacksDir),
loading: true,
tickID: animation.NewID(),
animating: cfg.UI.AnimationEnabled,
toast: components.NewToast(),
view: viewHome,
section: sectionStacks,
focus: focusSidebar,
tab: tabLogs,
hostname: host,
sys: sysinfo.Read(),
cl: cl,
engineName: engineInfo.Name,
compose: docker.NewCompose(cfg.Docker.ComposeCommand, engineInfo.Name),
stacksDir: config.ExpandPath(cfg.StacksDir),
loading: true,
tailLines: cfg.UI.LogTailLines,
showTimestamps: cfg.UI.ShowTimestamps,