Files
cctv/server/config/config.go
2026-04-22 23:35:59 +01:00

28 lines
687 B
Go

package config
import (
"github.com/caarlos0/env/v11"
)
type Config struct {
Environment string `env:"ENVIRONMENT" envDefault:"production"`
DbDataDir string `env:"CCTV_PB_DATA_DIR" envDefault:"./pb_data"`
DbEncryptionKey string `env:"CCTV_PB_ENCRYPTION_KEY" envDefault:""`
RecordingsDir string `env:"CCTV_REC_DIR" envDefault:"./recordings"`
ExternalWebApp string `env:"CCTV_EXTERNAL_WEB_APP" envDefault:""`
}
func Load() (*Config, error) {
var cfg Config
if err := env.ParseWithOptions(&cfg, env.Options{
RequiredIfNoDef: true,
}); err != nil {
return nil, err
}
return &cfg, nil
}
func (c *Config) IsDev() bool {
return c.Environment == "development"
}