mirror of
https://github.com/m1k1o/neko-rooms.git
synced 2026-11-02 22:51:34 -06:00
move all envs to types.
This commit is contained in:
@@ -250,26 +250,11 @@ func (manager *RoomManagerCtx) Create(settings types.RoomSettings) (string, erro
|
||||
// Set environment variables
|
||||
//
|
||||
|
||||
env := []string{
|
||||
fmt.Sprintf("NEKO_BIND=:%d", frontendPort),
|
||||
"NEKO_ICELITE=true",
|
||||
}
|
||||
|
||||
if manager.config.Mux {
|
||||
env = append(env,
|
||||
fmt.Sprintf("NEKO_UDPMUX=%d", epr.Min),
|
||||
fmt.Sprintf("NEKO_TCPMUX=%d", epr.Min),
|
||||
)
|
||||
} else {
|
||||
env = append(env,
|
||||
fmt.Sprintf("NEKO_EPR=%d-%d", epr.Min, epr.Max),
|
||||
)
|
||||
}
|
||||
|
||||
// optional nat mapping
|
||||
if len(manager.config.NAT1To1IPs) > 0 {
|
||||
env = append(env, fmt.Sprintf("NEKO_NAT1TO1=%s", strings.Join(manager.config.NAT1To1IPs, ",")))
|
||||
}
|
||||
env := settings.ToEnv(manager.config, types.PortSettings{
|
||||
FrontendPort: frontendPort,
|
||||
EprMin: epr.Min,
|
||||
EprMax: epr.Max,
|
||||
})
|
||||
|
||||
//
|
||||
// Set browser policies
|
||||
@@ -429,7 +414,7 @@ func (manager *RoomManagerCtx) Create(settings types.RoomSettings) (string, erro
|
||||
// List of exposed ports
|
||||
ExposedPorts: exposedPorts,
|
||||
// List of environment variable to set in the container
|
||||
Env: append(env, settings.ToEnv()...),
|
||||
Env: env,
|
||||
// Name of the image as it was passed by the operator (e.g. could be symbolic)
|
||||
Image: settings.NekoImage,
|
||||
// List of labels set to this container
|
||||
|
||||
+27
-1
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/m1k1o/neko-rooms/internal/config"
|
||||
"github.com/m1k1o/neko-rooms/internal/utils"
|
||||
)
|
||||
|
||||
@@ -97,14 +98,39 @@ type RoomSettings struct {
|
||||
BrowserPolicy *BrowserPolicy `json:"browser_policy,omitempty"`
|
||||
}
|
||||
|
||||
func (settings *RoomSettings) ToEnv() []string {
|
||||
type PortSettings struct {
|
||||
FrontendPort uint16
|
||||
EprMin, EprMax uint16
|
||||
}
|
||||
|
||||
func (settings *RoomSettings) ToEnv(config *config.Room, ports PortSettings) []string {
|
||||
env := []string{
|
||||
fmt.Sprintf("NEKO_BIND=:%d", ports.FrontendPort),
|
||||
"NEKO_ICELITE=true",
|
||||
|
||||
// from settings
|
||||
fmt.Sprintf("NEKO_PASSWORD=%s", settings.UserPass),
|
||||
fmt.Sprintf("NEKO_PASSWORD_ADMIN=%s", settings.AdminPass),
|
||||
fmt.Sprintf("NEKO_SCREEN=%s", settings.Screen),
|
||||
fmt.Sprintf("NEKO_MAX_FPS=%d", settings.VideoMaxFPS),
|
||||
}
|
||||
|
||||
if config.Mux {
|
||||
env = append(env,
|
||||
fmt.Sprintf("NEKO_UDPMUX=%d", ports.EprMin),
|
||||
fmt.Sprintf("NEKO_TCPMUX=%d", ports.EprMin),
|
||||
)
|
||||
} else {
|
||||
env = append(env,
|
||||
fmt.Sprintf("NEKO_EPR=%d-%d", ports.EprMin, ports.EprMax),
|
||||
)
|
||||
}
|
||||
|
||||
// optional nat mapping
|
||||
if len(config.NAT1To1IPs) > 0 {
|
||||
env = append(env, fmt.Sprintf("NEKO_NAT1TO1=%s", strings.Join(config.NAT1To1IPs, ",")))
|
||||
}
|
||||
|
||||
if settings.ControlProtection {
|
||||
env = append(env, "NEKO_CONTROL_PROTECTION=true")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user