#ifndef SERVER_CONFIG_H #define SERVER_CONFIG_H #include // Server configuration structure struct ServerConfig { // Server settings std::string host = "0.0.0.0"; int port = 8080; int maxConcurrentGenerations = 1; bool verbose = false; // Required directory parameter std::string modelsDir = ""; // Base models directory (required, must be set via --models-dir) // Model type directory parameters // All default to standard folder names under modelsDir if not explicitly set std::string checkpoints = ""; // Checkpoints directory (default: checkpoints) std::string controlnetDir = ""; // ControlNet directory (default: controlnet) std::string embeddingsDir = ""; // Embeddings directory (default: embeddings) std::string esrganDir = ""; // ESRGAN directory (default: ESRGAN) std::string loraDir = ""; // LoRA directory (default: loras) std::string taesdDir = ""; // TAESD directory (default: TAESD) std::string vaeDir = ""; // VAE directory (default: vae) // Queue and output directories std::string queueDir = "./queue"; // Directory to store queue job files std::string outputDir = "./output"; // Directory to store generated images/videos // UI directory (optional - for serving static web UI) std::string uiDir = ""; // Directory containing static web UI files // Legacy mode flag (always false now - kept for backward compatibility) bool legacyMode = false; // Logging options bool enableFileLogging = false; std::string logFilePath = "/var/log/stable-diffusion-rest/server.log"; }; #endif // SERVER_CONFIG_H