Skip to main content
Glama
clientConfig.ts1.28 kB
interface Config { dokployUrl: string; authToken: string; timeout: number; retryAttempts: number; retryDelay: number; } class ConfigManager { private static instance: ConfigManager; private config: Config | null = null; private constructor() {} static getInstance(): ConfigManager { if (!ConfigManager.instance) { ConfigManager.instance = new ConfigManager(); } return ConfigManager.instance; } getConfig(): Config { if (!this.config) { this.config = this.loadConfig(); } return this.config; } private loadConfig(): Config { const dokployUrl = process.env.DOKPLOY_URL; const authToken = process.env.DOKPLOY_API_KEY; if (!dokployUrl) { throw new Error("Environment variable DOKPLOY_URL is not defined"); } if (!authToken) { throw new Error("Environment variable DOKPLOY_API_KEY is not defined"); } return { dokployUrl, authToken, timeout: parseInt(process.env.DOKPLOY_TIMEOUT || "30000", 10), retryAttempts: parseInt(process.env.DOKPLOY_RETRY_ATTEMPTS || "3", 10), retryDelay: parseInt(process.env.DOKPLOY_RETRY_DELAY || "1000", 10), }; } } export function getClientConfig(): Config { return ConfigManager.getInstance().getConfig(); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andradehenrique/dokploy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server