feat(docker): 改用 socket activation 并在启用时加入 docker 用户组

This commit is contained in:
2026-03-26 15:17:02 +08:00
parent ccbd2c55d4
commit b3e7d059ec
2 changed files with 8 additions and 3 deletions
+7 -2
View File
@@ -1,11 +1,13 @@
import decman
from decman import Module from decman import Module
from decman.plugins.pacman import packages from decman.plugins.pacman import packages
from decman.plugins.systemd import units from decman.plugins.systemd import units
class DockerModule(Module): class DockerModule(Module):
def __init__(self): def __init__(self, user: str):
super().__init__("docker") super().__init__("docker")
self.user = user
@packages @packages
def packages(self) -> set[str]: def packages(self) -> set[str]:
@@ -13,4 +15,7 @@ class DockerModule(Module):
@units @units
def units(self) -> set[str]: def units(self) -> set[str]:
return {"docker.service"} return {"docker.socket"}
def on_enable(self, store):
decman.prg(["gpasswd", "-a", self.user, "docker"])
+1 -1
View File
@@ -18,6 +18,6 @@ if not USERNAME:
decman.modules += [ decman.modules += [
modules.base.BaseModule(), modules.base.BaseModule(),
modules.locale.LocaleModule(), modules.locale.LocaleModule(),
modules.docker.DockerModule(), modules.docker.DockerModule(USERNAME),
modules.zsh.ZshModule(USERNAME), modules.zsh.ZshModule(USERNAME),
] ]