{"record":{"id":"35459aacee216895","repo":"coollabsio/coolify","slug":"mongodb-credentials-not-found-ensure-mongo-initdb","errorCode":null,"errorMessage":"MongoDB credentials not found. Ensure MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD environment variables are available in the container.","messagePattern":"MongoDB credentials not found\\. Ensure MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD environment variables are available in the container\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"app/Jobs/DatabaseBackupJob.php","lineNumber":544,"sourceCode":"            ]);\n        }\n    }\n\n    private function backup_standalone_mongodb(string $databaseWithCollections): void\n    {\n        try {\n            $url = $this->database->internal_db_url;\n            if (blank($url)) {\n                // For service-based MongoDB, try to build URL from environment variables\n                if (filled($this->mongo_root_username) && filled($this->mongo_root_password)) {\n                    // Use container name instead of server IP for service-based MongoDB\n                    // URL-encode credentials to prevent URI injection\n                    $encodedUser = rawurlencode($this->mongo_root_username);\n                    $encodedPass = rawurlencode($this->mongo_root_password);\n                    $url = \"mongodb://{$encodedUser}:{$encodedPass}@{$this->container_name}:27017\";\n                } else {\n                    // If no environment variables are available, throw an exception\n                    throw new \\Exception('MongoDB credentials not found. Ensure MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD environment variables are available in the container.');\n                }\n            }\n            Log::info('MongoDB backup URL configured', ['has_url' => filled($url), 'using_env_vars' => blank($this->database->internal_db_url)]);\n            $escapedUrl = escapeshellarg($url);\n            if ($databaseWithCollections === 'all') {\n                $commands[] = 'mkdir -p '.$this->backup_dir;\n                if (str($this->database->image)->startsWith('mongo:4')) {\n                    $commands[] = \"docker exec $this->container_name mongodump --uri=$escapedUrl --gzip --archive > $this->backup_location\";\n                } else {\n                    $commands[] = \"docker exec $this->container_name mongodump --authenticationDatabase=admin --uri=$escapedUrl --gzip --archive > $this->backup_location\";\n                }\n            } else {\n                if (str($databaseWithCollections)->contains(':')) {\n                    $databaseName = str($databaseWithCollections)->before(':');\n                    $collectionsToExclude = str($databaseWithCollections)->after(':')->explode(',');\n                } else {\n                    $databaseName = $databaseWithCollections;\n                    $collectionsToExclude = collect();","sourceCodeStart":526,"sourceCodeEnd":562,"githubUrl":"https://github.com/coollabsio/coolify/blob/70b9acc42467278373e00de77abb40684e25b395/app/Jobs/DatabaseBackupJob.php#L526-L562","documentation":"Error \"MongoDB credentials not found. Ensure MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD environment variables are available in the container.\" thrown in coollabsio/coolify.","triggerScenarios":"Thrown at app/Jobs/DatabaseBackupJob.php:544 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"70b9acc42467278373e00de77abb40684e25b395","analyzedAt":"2026-08-17T01:41:01.313Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}