package docker import ( "net/http" "github.com/TheTNB/panel/internal/service" "github.com/TheTNB/panel/pkg/io" "github.com/TheTNB/panel/pkg/systemctl" ) type Service struct{} func NewService() *Service { return &Service{} } func (s *Service) GetConfig(w http.ResponseWriter, r *http.Request) { config, err := io.Read("/etc/docker/daemon.json") if err != nil { service.Error(w, http.StatusInternalServerError, "%v", err) return } service.Success(w, config) } func (s *Service) UpdateConfig(w http.ResponseWriter, r *http.Request) { req, err := service.Bind[UpdateConfig](r) if err != nil { service.Error(w, http.StatusUnprocessableEntity, "%v", err) return } if err = io.Write("/etc/docker/daemon.json", req.Config, 0644); err != nil { service.Error(w, http.StatusInternalServerError, "%v", err) return } if err = systemctl.Restart("docker"); err != nil { service.Error(w, http.StatusInternalServerError, "%v", err) return } service.Success(w, nil) }