first
This commit is contained in:
commit
f4be03ceba
1826 changed files with 830924 additions and 0 deletions
56
backend/internal/config/config.go
Normal file
56
backend/internal/config/config.go
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
DBHost string
|
||||
DBPort string
|
||||
DBUser string
|
||||
DBPassword string
|
||||
DBName string
|
||||
Port string
|
||||
UseEmbedded bool
|
||||
JWTSecret string
|
||||
AdminUser string
|
||||
AdminPassword string
|
||||
MailDataDir string
|
||||
PostqueuePath string
|
||||
PostsuperPath string
|
||||
DovecotQuotaCmd string
|
||||
JournalctlPath string
|
||||
RspamdAPI string
|
||||
}
|
||||
|
||||
func Load() *Config {
|
||||
godotenv.Load("backend/.env")
|
||||
|
||||
return &Config{
|
||||
DBHost: getEnv("DB_HOST", "localhost"),
|
||||
DBPort: getEnv("DB_PORT", "3306"),
|
||||
DBUser: getEnv("DB_USER", "mailadmin"),
|
||||
DBPassword: getEnv("DB_PASSWORD", ""),
|
||||
DBName: getEnv("DB_NAME", "mailserver"),
|
||||
Port: getEnv("PORT", "8080"),
|
||||
UseEmbedded: getEnv("USE_EMBEDDED", "true") == "true",
|
||||
JWTSecret: getEnv("JWT_SECRET", "change-this-secret"),
|
||||
AdminUser: getEnv("ADMIN_USER", ""),
|
||||
AdminPassword: getEnv("ADMIN_PASSWORD", ""),
|
||||
MailDataDir: getEnv("MAIL_DATA_DIR", "/var/vmail"),
|
||||
PostqueuePath: getEnv("POSTQUEUE_PATH", "/usr/sbin/postqueue"),
|
||||
PostsuperPath: getEnv("POSTSUPER_PATH", "/usr/sbin/postsuper"),
|
||||
DovecotQuotaCmd: getEnv("DOVECOT_QUOTA_CMD", "/usr/bin/doveadm"),
|
||||
JournalctlPath: getEnv("JOURNALCTL_PATH", "/usr/bin/journalctl"),
|
||||
RspamdAPI: getEnv("RSPAMD_API", "http://127.0.0.1:11334"),
|
||||
}
|
||||
}
|
||||
|
||||
func getEnv(key, defaultValue string) string {
|
||||
if value := os.Getenv(key); value != "" {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue