fixed bugs

This commit is contained in:
2025-03-19 19:56:58 +02:00
parent 1488d7db16
commit 32d64f3637
14 changed files with 173 additions and 98 deletions

View File

@@ -4,12 +4,12 @@ import (
"context"
"encoding/json"
"fmt"
"maps"
"net"
instancemanager "git.acooldomain.co/server-manager/backend/instancemanager"
"git.acooldomain.co/server-manager/backend/models"
"github.com/buildkite/shellwords"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/image"
"github.com/docker/docker/api/types/mount"
@@ -22,11 +22,11 @@ import (
type InstanceManager struct {
instancemanager.InstanceManager
client client.Client
client *client.Client
config models.DockerInstanceManagerConfig
}
func (self *InstanceManager) containerList(ctx context.Context, labels ContainerLabels, all bool) ([]types.Container, error) {
func (self *InstanceManager) containerList(ctx context.Context, labels ContainerLabels, all bool) ([]container.Summary, error) {
filters, err := convertLabelsToFilter(labels)
if err != nil {
return nil, err
@@ -61,12 +61,17 @@ func (self *InstanceManager) getVolume(ctx context.Context, serverId string) (*v
// General
// Read Only
func (self *InstanceManager) GetImage(ctx context.Context, imageId string) (*instancemanager.Image, error) {
imageInspect, _, err := self.client.ImageInspectWithRaw(ctx, imageId)
imageInspect, err := self.client.ImageInspect(ctx, imageId)
if err != nil {
return nil, err
}
if imageInspect.Config.Labels["type"] != "game" {
imageLabels, err := convertImageLabelsToStruct(imageInspect.Config.Labels)
if err != nil {
return nil, err
}
if imageLabels.Type != Game {
return nil, fmt.Errorf("Image not found")
}
@@ -89,7 +94,7 @@ func (self *InstanceManager) ListImages(ctx context.Context) ([]instancemanager.
images := make([]instancemanager.Image, len(rawImages))
for i, rawImage := range rawImages {
imageInspect, _, err := self.client.ImageInspectWithRaw(ctx, rawImage.ID)
imageInspect, err := self.client.ImageInspect(ctx, rawImage.ID)
if err != nil {
return nil, err
}
@@ -502,9 +507,7 @@ func (self *InstanceManager) StartFileBrowser(ctx context.Context, serverId stri
return nil, err
}
for key, value := range *containerConfig {
browserLabels[key] = value
}
maps.Copy(browserLabels, *containerConfig)
command := self.config.FileBrowser.Command
@@ -579,6 +582,6 @@ func NewInstanceManager(config models.DockerInstanceManagerConfig) (*InstanceMan
return &InstanceManager{
config: config,
client: *apiClient,
client: apiClient,
}, nil
}