40 lines
801 B
Go
40 lines
801 B
Go
package docker
|
|
|
|
import (
|
|
"log"
|
|
"mc-tool/config"
|
|
"strings"
|
|
)
|
|
|
|
type Dockercompose struct {
|
|
Name string
|
|
Ports []Port
|
|
Version string
|
|
Type string
|
|
Ram string
|
|
MOTD string
|
|
RestartPolicy string
|
|
}
|
|
|
|
func NewCompose(name string) Dockercompose {
|
|
return Dockercompose{
|
|
Name: name,
|
|
Ports: PortsFromStrings(config.Cfg.Ports),
|
|
Version: config.Cfg.Version,
|
|
Type: TypeFromString(config.Cfg.Type).String(),
|
|
Ram: config.Cfg.Ram,
|
|
MOTD: config.Cfg.MOTD,
|
|
RestartPolicy: config.Cfg.RestartPolicy,
|
|
}
|
|
}
|
|
|
|
func (dc Dockercompose) String() string {
|
|
b := new(strings.Builder)
|
|
|
|
err := config.Data.DockerCompose.ExecuteTemplate(b, "compose", dc)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
return b.String()
|
|
}
|