add full config struct
This commit is contained in:
parent
326fdcae6e
commit
03acc4d5a3
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -19,5 +19,8 @@
|
||||||
# ignore logfiles (/* so the .gitkeep override works)
|
# ignore logfiles (/* so the .gitkeep override works)
|
||||||
/logs/*
|
/logs/*
|
||||||
|
|
||||||
|
# ignore configuration file
|
||||||
|
/config.json
|
||||||
|
|
||||||
# Keep all gitkeep files (This needs to stay at the bottom)
|
# Keep all gitkeep files (This needs to stay at the bottom)
|
||||||
!.gitkeep
|
!.gitkeep
|
||||||
|
|
1
config.example.json
Normal file
1
config.example.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
|
@ -7,15 +7,73 @@ import (
|
||||||
// Config contains the configuration of the Pterodactyl Daemon
|
// Config contains the configuration of the Pterodactyl Daemon
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
|
||||||
|
// Web contains the settings of the api webserver
|
||||||
|
Web struct {
|
||||||
|
// ListenAddress is the address to bind the api webserver to
|
||||||
|
ListenAddress string `json:"address"`
|
||||||
|
// ListenPort is the port to bind the api webserver to
|
||||||
|
ListenPort int16 `json:"port"`
|
||||||
|
|
||||||
|
// SSL contains https configuration for the api webserver
|
||||||
|
SSL struct {
|
||||||
|
// Enabled allows to enable or disable ssl
|
||||||
|
Enabled bool `json:"enabled"`
|
||||||
|
// Certificate is the certificate file path to use
|
||||||
|
Certificate string `json:"certificate"`
|
||||||
|
// Key is the path to the private key for the certificate
|
||||||
|
Key string `json:"key"`
|
||||||
|
} `json:"ssl"`
|
||||||
|
|
||||||
|
// Uploads contains file upload configuration
|
||||||
|
Uploads struct {
|
||||||
|
// MaximumSize is the maximum file upload size
|
||||||
|
MaximumSize int64 `json:"maximumSize"`
|
||||||
|
} `json:"uploads"`
|
||||||
|
} `json:"web"`
|
||||||
|
|
||||||
|
// Docker contains docker related configuration
|
||||||
|
Docker struct {
|
||||||
|
// Socket is the path to the docker control socket
|
||||||
|
Socket string `json:"socket"`
|
||||||
|
// AutoupdateImages allows to disable automatic Image updates
|
||||||
|
AutoupdateImages bool `json:"autoupdateImages"`
|
||||||
|
// NetworkInterface is the interface for the pterodactyl network
|
||||||
|
NetworkInterface string `json:"networkInterface"`
|
||||||
|
// TimezonePath is the path to the timezone file to mount in the containers
|
||||||
|
TimezonePath string `json:"timezonePath"`
|
||||||
|
} `json:"docker"`
|
||||||
|
|
||||||
|
// Sftp contains information on the integrated sftp server
|
||||||
|
Sftp struct {
|
||||||
|
// Path is the base path of the sftp server
|
||||||
|
Path string `json:"path"`
|
||||||
|
// Port is the port to bind the sftp server to
|
||||||
|
Port int16 `json:"port"`
|
||||||
|
} `json:"sftp"`
|
||||||
|
|
||||||
|
// Query contains parameters related to queriying of running gameservers
|
||||||
|
Query struct {
|
||||||
|
KillOnFail bool `json:"killOnFail"`
|
||||||
|
FailLimit bool `json:"failLimit"`
|
||||||
|
} `json:"query"`
|
||||||
|
|
||||||
|
// Remote is the url of the panel
|
||||||
|
Remote string `json:"remote"`
|
||||||
|
|
||||||
// Log contains configuration related to logging
|
// Log contains configuration related to logging
|
||||||
Log struct {
|
Log struct {
|
||||||
|
// Path is the folder where logfiles should be stored
|
||||||
|
Path string `json:"path"`
|
||||||
|
// Level is the preferred log level
|
||||||
|
Level string `json:"level"`
|
||||||
|
|
||||||
// DeleteAfterDays is the time in days after which logfiles are deleted
|
// DeleteAfterDays is the time in days after which logfiles are deleted
|
||||||
// If set to <= 0 logs are kept forever
|
// If set to <= 0 logs are kept forever
|
||||||
DeleteAfterDays int
|
DeleteAfterDays int `json:"deleteAfterDays"`
|
||||||
} `json:"log"`
|
} `json:"log"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LoadConfiguration loads the configuration from the disk.
|
||||||
func LoadConfiguration() error {
|
func LoadConfiguration() error {
|
||||||
viper.SetConfigName("config")
|
viper.SetConfigName("config")
|
||||||
viper.AddConfigPath(".")
|
viper.AddConfigPath(".")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user