Support changing the /tmp volume size in the config
This commit is contained in:
parent
cc52954a2a
commit
cf1c671e68
|
@ -63,6 +63,11 @@ type DockerConfiguration struct {
|
||||||
|
|
||||||
// Registries .
|
// Registries .
|
||||||
Registries map[string]RegistryConfiguration `json:"registries" yaml:"registries"`
|
Registries map[string]RegistryConfiguration `json:"registries" yaml:"registries"`
|
||||||
|
|
||||||
|
// The size of the /tmp directory when mounted into a container. Please be aware that Docker
|
||||||
|
// utilizes host memory for this value, and that we do not keep track of the space used here
|
||||||
|
// so avoid allocating too much to a server.
|
||||||
|
TmpfsSize uint `default:"100" json:"tmpfs_size" yaml:"tmpfs_size"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegistryConfiguration .
|
// RegistryConfiguration .
|
||||||
|
|
|
@ -148,6 +148,8 @@ func (e *Environment) Create() error {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmpfsSize := strconv.Itoa(int(config.Get().Docker.TmpfsSize))
|
||||||
|
|
||||||
hostConf := &container.HostConfig{
|
hostConf := &container.HostConfig{
|
||||||
PortBindings: a.Bindings(),
|
PortBindings: a.Bindings(),
|
||||||
|
|
||||||
|
@ -158,7 +160,7 @@ func (e *Environment) Create() error {
|
||||||
// Configure the /tmp folder mapping in containers. This is necessary for some
|
// Configure the /tmp folder mapping in containers. This is necessary for some
|
||||||
// games that need to make use of it for downloads and other installation processes.
|
// games that need to make use of it for downloads and other installation processes.
|
||||||
Tmpfs: map[string]string{
|
Tmpfs: map[string]string{
|
||||||
"/tmp": "rw,exec,nosuid,size=50M",
|
"/tmp": "rw,exec,nosuid,size="+tmpfsSize+"M",
|
||||||
},
|
},
|
||||||
|
|
||||||
// Define resource limits for the container based on the data passed through
|
// Define resource limits for the container based on the data passed through
|
||||||
|
|
|
@ -19,6 +19,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
@ -429,6 +430,7 @@ func (ip *InstallationProcess) Execute(installPath string) (string, error) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmpfsSize := strconv.Itoa(int(config.Get().Docker.TmpfsSize))
|
||||||
hostConf := &container.HostConfig{
|
hostConf := &container.HostConfig{
|
||||||
Mounts: []mount.Mount{
|
Mounts: []mount.Mount{
|
||||||
{
|
{
|
||||||
|
@ -445,7 +447,7 @@ func (ip *InstallationProcess) Execute(installPath string) (string, error) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Tmpfs: map[string]string{
|
Tmpfs: map[string]string{
|
||||||
"/tmp": "rw,exec,nosuid,size=50M",
|
"/tmp": "rw,exec,nosuid,size="+tmpfsSize+"M",
|
||||||
},
|
},
|
||||||
DNS: config.Get().Docker.Network.Dns,
|
DNS: config.Get().Docker.Network.Dns,
|
||||||
LogConfig: container.LogConfig{
|
LogConfig: container.LogConfig{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user