Skip to main content

Server Environment Variables

This lists all the supported environment variables for the server side of RepoFlow. These variables are required to connect to the database, storage (S3-compatible object storage, Google Cloud Storage, Azure Blob Storage, or local filesystem), Hasura, Search Engine (Elasticsearch or OpenSearch), Redis, SMTP, and other services.

Core Server Configuration

Settings related to the core server, such as ports, URLs, and temporary storage.

NameTypeDescriptionDefaultRequired
SERVER_PORTNumberPort for the server to listen on inside the pod containerYes
SERVER_URLStringURL of the server from the end user's perspectiveYes
FRONTEND_URLStringURL of the frontend application from the end user's perspectiveYes
TMP_FOLDERStringTemporary folder for storing files/srv/tmpNo
TMP_FOLDER_TEST_PERFORMANCE_ON_STARTBooleanRuns a temp folder performance test on startup using TMP_FOLDER, blocking startup until it finishes. Useful for benchmarking, not recommended in production.falseNo
COOKIE_SECUREBooleanIndicates whether cookies should be marked as Secure. When not explicitly set, the value is automatically derived from FRONTEND_URL. Set this explicitly if you need to override the default behavior.true if FRONTEND_URL starts with https://, otherwise falseNo
CORS_WHITELISTString ArrayList of allowed origins for CORS, server URL and frontend URL will be automatically allowed[]No
COOKIE_DOMAINStringCookie domain attribute. If not explicitly set, it defaults to the hostname of FRONTEND_URL (for example, app.example.com).Hostname of FRONTEND_URLNo
COOKIE_SAME_SITEStringSameSite attribute for cookies (strict/lax/none)strictNo
COOKIE_HTTP_ONLYBooleanIndicates if cookies should be HTTP onlytrueNo
GENERAL_COOKIE_SECRETStringSecret key used to encrypt specific cookies, such as nonce and state, but not the primary authentication cookie.YES
IS_REMOTE_CACHE_ENABLEDBooleanEnable remote cachetrueNo
MAX_UPLOAD_FILE_SIZE_IN_BYTESNumberMaximum allowed upload file size in bytes10000000000No
MAX_FILES_AMOUNT_IN_UPLOAD_REQUESTNumberMaximum number of files allowed per upload request30No
MAX_REQUEST_JSON_SIZE_IN_BYTESNumberMaximum allowed size (in bytes) for JSON request bodies. Useful for controlling the size of incoming JSON payloads like npm publish or large metadata.500000000No
ALL_REQUESTS_TIME_OUT_IN_SECONDSNumberMaximum total time in seconds allowed for any incoming request, regardless of activity. This value overrides Node’s default 5-minute timeout.600No
IS_BASIC_SIGNIN_ENABLEDBooleanEnables or disables the ability for users to sign in using the built-in basic (email/password) authentication. Disabling this is helpful when SSO or other auth systems are in use.trueNo
IS_BASIC_SIGNUP_ENABLEDBooleanEnables or disables the ability for users to sign up using the built-in basic (email/password) authentication. Useful for setups that use external auth methods like SSO or LDAP, or to lock signups after inviting specific users. Even when disabled, a system administrator can still create users manually in the system settings using basic credentials if needed.true
ENABLE_LDAP_BASIC_AUTH_FOR_API_CALLSBooleanAllows API and package-manager Basic Auth requests to fall back to LDAP when LDAP is enabled in RepoFlow system settings. This only affects request authentication and does not enable LDAP globally.trueNo
LDAP_BASIC_AUTH_FOR_API_CALLS_CACHE_TTL_IN_SECONDSNumberTTL in seconds for the in-memory LDAP Basic Auth cache used only by API and package-manager requests. UI LDAP sign-in still validates directly against LDAP on every login. 0 disables caching.5No

Storage Configuration

NameTypeDescriptionDefaultRequired
STORAGE_TYPEStringDefines the active storage backend. Supported values: object-storage (for S3 or compatible systems), google-cloud-storage (for native Google Cloud Storage), azure-blob-storage (for Azure Blob Storage), and file-system (for local storage).object-storageNo
STORAGE_USE_PRE_SIGNED_URLBooleanWhen true, RepoFlow will prefer returning redirects to a signed storage URL (instead of streaming the file through the API server) whenever supported by the active storage backend.falseNo
STORAGE_TEST_PERFORMANCE_ON_STARTBooleanSet to true to enable the performance test. Useful for debugging slowdowns and ensuring your setup is optimized.falseNo

S3 Storage Settings

S3 storage supports any S3-compatible provider (not just AWS S3), such as Google Cloud Storage, MinIO, Ceph and more.

Pre-signed URL redirects are controlled via STORAGE_USE_PRE_SIGNED_URL.

NameTypeDescriptionDefaultRequired
S3_ACCESS_KEYStringAccess key for S3Yes (for Object Storage)
S3_SECRET_KEYStringSecret key for S3Yes (for Object Storage)
S3_PORTNumberPort for S3Yes (for Object Storage)
S3_END_POINTStringEndpoint for S3Yes (for Object Storage)
S3_BUCKETStringS3 bucket nameYes (for Object Storage)
S3_USE_SSLBooleanUse SSL for S3trueNo
S3_CREATE_BUCKET_IF_NOT_EXISTBooleanCreate bucket if it does not existtrueNo
S3_IS_AWS_S3BooleanIndicates if S3 is AWS S3falseNo
S3_REGIONStringAWS S3 regionNo
S3_AWS_USE_ACCELERATE_ENDPOINTBooleanUse the AWS S3 Transfer Acceleration endpoint for faster uploads and downloads to enabled buckets. Only applicable when S3_IS_AWS_S3 is true and the bucket has acceleration enabled.falseNo
S3_USE_PATH_STYLEBooleanUse path-style URLs (/bucket/object) instead of virtual-hosted-style URLs (bucket.endpoint/object). Must be set to false when S3_AWS_USE_ACCELERATE_ENDPOINT is enabled.trueNo
S3_KEEP_ALIVEBooleanKeep alive connections to S3 providerfalseNo
S3_MAX_SOCKETSNumberMaximum number of simultaneous socket connections to the S3 server 5050No
S3_CHECKSUM_ALGORITHMStringChecksum algorithm used for data integrity verification. Options: CRC32, CRC32C, CRC64NVME, SHA1, SHA256, NONE.SHA256No
S3_REQUEST_CHECKSUM_CALCULATIONStringDefines when request checksum calculation is performed. Options: WHEN_REQUIRED, WHEN_SUPPORTED.WHEN_REQUIREDNo
S3_RESPONSE_CHECKSUM_CALCULATIONStringDefines when response checksum calculation is performed. Options: WHEN_REQUIRED, WHEN_SUPPORTED.WHEN_REQUIREDNo
S3_STORAGE_CLASSStringOptional AWS S3 storage class to apply to newly created objects (uploads, multipart uploads, health and performance test objects). Only applied when S3_IS_AWS_S3 is true. Use UNSET (default) to disable. Options: UNSET, STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, GLACIER_IR, DEEP_ARCHIVE, REDUCED_REDUNDANCY, OUTPOSTS, SNOW, EXPRESS_ONEZONE, FSX_ONTAP, FSX_OPENZFS.UNSETNo

Google Cloud Storage (GCS) Settings

To enable Google Cloud Storage, set STORAGE_TYPE=google-cloud-storage. Google Cloud Storage can also be used via the S3-compatible settings above (GCS interoperability / S3-compatible API). Use this section if you prefer the native GCS client.

NameTypeDescriptionDefaultRequired
GOOGLE_CLOUD_STORAGE_BUCKETStringGCS bucket name when STORAGE_TYPE=google-cloud-storage.""No (Yes, when STORAGE_TYPE=google-cloud-storage)
GOOGLE_CLOUD_STORAGE_PROJECT_IDStringOptional GCP project id override for the GCS client.""No
GOOGLE_CLOUD_STORAGE_CREDENTIALS_JSONStringInline credentials JSON (plain JSON or base64 JSON). If empty, the server uses Application Default Credentials (Workload Identity/Cloud Run/etc).""No (but required if ADC is not available)
GOOGLE_CLOUD_STORAGE_UPLOAD_CHUNK_SIZE_IN_MBNumberChunk size (MB) used for chunked resumable uploads to GCS (large uploads become multiple requests).8No

Azure Blob Storage Settings

To enable Azure Blob Storage, set STORAGE_TYPE=azure-blob-storage. Authentication: set either AZURE_STORAGE_CONNECTION_STRING or (AZURE_STORAGE_ACCOUNT_NAME + AZURE_STORAGE_ACCOUNT_KEY).

NameTypeDescriptionDefaultRequired
AZURE_STORAGE_CONTAINERStringContainer name (Azure’s “bucket”).Yes
AZURE_STORAGE_CONNECTION_STRINGStringAzure Storage connection string (auth option A).No
AZURE_STORAGE_ACCOUNT_NAMEStringStorage account name (use with AZURE_STORAGE_ACCOUNT_KEY, auth option B).No
AZURE_STORAGE_ACCOUNT_KEYStringStorage account key (use with AZURE_STORAGE_ACCOUNT_NAME, auth option B).No
AZURE_STORAGE_ACCOUNT_URLStringAccount URL override.No
AZURE_STORAGE_CREATE_CONTAINER_IF_NOT_EXISTBooleanCreate container on startup.trueNo
AZURE_STORAGE_UPLOAD_CONCURRENCYNumberParallel block uploads per file.4No
AZURE_STORAGE_UPLOAD_BLOCK_SIZE_MBNumberBlock size in MB for large uploads.8No

File System Storage Settings

Imoportant: File system storage is not recommended for production environments.

NameTypeDescriptionDefaultRequired
STORAGE_LOCAL_DATA_FOLDERStringDirectory path where files are stored locally./dataNo

Database & Hasura Configuration

Settings related to database connections and Hasura.

NameTypeDescriptionDefaultRequired
HASURA_URLStringURL for HasuraYes
HASURA_URL_RESTStringURL for Hasura REST APIYes
HASURA_ADMIN_SECRETStringAdmin secret for Hasura
HASURA_UPGRADE_ON_STARTBooleanUse this to prevent the server from checking for updates on every startup. Set this to true when upgrading the RepoFlow version.trueNo
HASURA_FORCE_APPLY_MIGRATIONS_AND_METADATABooleanForces applying Hasura migrations and metadata on startup regardless of tracked/applied state. Useful for recovery or state drift scenarios, when enabled, seed apply is skipped in force mode.falseNo

Search Engine Configuration

Settings related to Elasticsearch and OpenSearch.

NameTypeDescriptionDefaultRequired
IS_SMART_SEARCH_ENABLEDBooleanEnable smart search (Elasticsearch or OpenSearch)falseNo
SMART_SEARCH_TYPEStringThe search engine type elasticsearch or opensearchelasticsearchNo
SMART_SEARCH_CLEAR_INDEX_ON_STARTUPBooleanClear Search Engine index on startupfalseNo
SMART_SEARCH_URLStringURL for Elasticsearch or OpenSearchNo
SMART_SEARCH_USERNAMEStringUsername for Elasticsearch or OpenSearchNo
SMART_SEARCH_PASSWORDStringPassword for Elasticsearch or OpenSearchNo
SMART_SEARCH_INDEX_NAMEStringSearch Engine index namerepoflowNo
SMART_SEARCH_INDEXING_RUN_ON_STARTUPBooleanRun indexing on startupfalseNo
SMART_SEARCH_INDEXING_PACKAGE_QUERY_LIMITNumberQuery limit for package indexing400No
SMART_SEARCH_INDEXING_BULK_SIZENumberBulk size for indexing20000No
SMART_SEARCH_INDEXING_CRONStringCron schedule for indexing0 4 \* \* \*No
SEARCH_RESULTS_QUERY_LIMITNumberQuery limit for search results100No
DEFAULT_SEARCH_LIMITNumberDefault search result limit10No

Caching (Redis) Configuration

Settings related to caching with Redis.

NameTypeDescriptionDefaultRequired
IS_REDIS_ENABLEDBooleanEnable RedisfalseNo
REDIS_CONNECTION_STRINGStringConnection string for RedisNo
REDIS_NAMESPACEStringNamespace for RedisrepoflowNo
REDIS_DEFAULT_TTL_IN_STRINGStringDefault TTL for Redis10dNo

Authentication & Security

Settings related to authentication and security.

NameTypeDescriptionDefaultRequired
JWT_SECRETStringSecret key for JWTYes
RESET_PASSWORD_JWT_SECRETStringSecret key for reset password JWTYes
PERSONAL_ACCESS_TOKEN_JWT_SECRETStringSecret key used to sign personal access tokens. Any change will break all existing personal access tokens.Yes
COOKIE_EXPIRY_IN_SECONDSNumberCookie expiry time in seconds604800No
JWS_ALGORITHMStringAlgorithm for JWSHS256No
DEFAULT_ADMIN_USER_NAMEStringDefault admin usernameadminNo
DEFAULT_ADMIN_PASSWORDStringDefault admin passwordpasswordNo
IS_PASSWORD_SPECIAL_CHARACTERS_ALLOWEDBooleanAllow special characters in passwords. If false, only letters and numbers are allowed.falseNo

OIDC

Settings for OpenID Connect (OIDC) refresh token support and caching.

Note:
OIDC provider details are set in the RepoFlow UI, not via environment variables.

NameTypeDescriptionDefaultRequired
ALLOW_OIDC_REFRESH_TOKENS_AS_PERSONAL_ACCESS_TOKENSBooleanAllows using OpenID Connect (OIDC) refresh tokens as personal access tokens (PATs).falseNo
ENABLE_OIDC_REFRESH_TOKEN_CACHINGBooleanEnable in-memory caching for OIDC refresh tokens to reduce calls to the OIDC providerfalseNo
OIDC_REFRESH_TOKEN_VALID_CACHE_TTL_IN_SECONDSNumberTTL (in seconds) for valid OIDC refresh tokens in cache86400No
OIDC_REFRESH_TOKEN_INVALID_CACHE_TTL_IN_SECONDSNumberTTL (in seconds) for invalid OIDC refresh tokens in cache86400No
OIDC_PKCE_MODEStringPKCE mode for OIDC auth flow. Allowed values: auto, on, off.autoNo

Role Mapping

Configure RepoFlow to automatically map user roles from an external server.
When enabled, user roles are synchronized based on the mapping response at login. You can also enforce strict mapping by removing any roles not listed in the external response.

NameTypeDescriptionDefaultRequired
ENABLED_ROLE_MAPPINGBooleanEnable mapping user roles from external role mapping server.falseNo
ROLE_MAPPING_URLStringRole mapping server URL. Use :user-email as a placeholder for user email (e.g., http://localhost:9085/roles/:user-email).Yes, if role mapping is enabled
ROLE_MAPPING_SECRETStringSecret key passed in the X-Auth-Token header when calling the role mapping server.Yes, if role mapping is enabled
ROLE_MAPPING_REMOVE_EXTRA_ROLESBooleanRemove existing user roles not mentioned in the mapping. Set to true to enforce exact mapping.falseNo
ROLE_MAPPING_SYNC_CRON_ENABLEDBooleanEnable periodic sync of user roles from the mapping server based on a cron schedule.falseNo
ROLE_MAPPING_SYNC_CRONStringCron expression for periodic sync (e.g., 0 * * * * for every hour). Only used if sync is enabled.0 * * * *No

Logging & Monitoring

Settings for request logging and tracking.

NameTypeDescriptionDefaultRequired
IS_PRINT_ENVBooleanPrints environment configuration on startup if truefalseNo
CONSOLE_LOG_LEVELStringSets the logging verbosity level for console output. Levels are hierarchical, setting a level includes all levels below it. Possible values (from lowest to highest verbosity): info, warn, error, http, debug, delete, verbose, auth.httpNo
ENABLE_IMMEDIATE_REQUEST_LOGGINGBooleanImmediately logs each request as it is received by the server. These logs will only appear in the console if the console log level is set to http or higher.falseNo
ENABLE_ONGOING_REQUEST_TRACKINGBooleanTracks ongoing requests and periodically logs their status. These logs will always appear in the console, as they use the info log level.falseNo
ENABLE_AUTH_LOGGINGBooleanEnables detailed authentication logging for debugging. ⚠️ Use with caution as credentials may appear in the logs.falseNo

Email (SMTP) Configuration

Settings for email notifications and verification.

NameTypeDescriptionDefaultRequired
IS_SMTP_ENABLEDBooleanEnable SMTPfalseNo
IS_ACCOUNT_VERIFICATION_ENABLEDBooleanRequires email verification during signup. SMTP must be enabled for this to work.falseNo
IS_SIGNUP_WITH_DISPOSABLE_EMAILS_ALLOWEDBooleanAllow signups with disposable email addressestrueNo
SMTP_PORTNumberPort for SMTP465No
SMTP_SECUREBooleanUse secure connection for SMTPtrueNo
SMTP_SENDER_ADDRESSStringSender address for SMTPNo
SMTP_USERNAMEStringUsername for SMTPNo
SMTP_PASSWORDStringPassword for SMTPNo
SMTP_ENDPOINTStringEndpoint for SMTPNo
SMTP_BCC_ADDRESSStringEmail address that receives a blind copy of all outgoing messagesNo
SMTP_RATE_LIMIT_ENABLEDBooleanEnable rate limiting on emails per recipientfalseNo
SMTP_MAX_EMAILS_PER_INTERVALNumberMaximum number of emails allowed to be sent to the same address within the defined window5No
SMTP_RATE_LIMIT_WINDOW_MSNumberTime window in milliseconds to evaluate the rate limit (e.g. 120000 = 2 minutes)120000No

Note: The rate limiting is currently enforced in server memory.
In a high availability (HA) setup with multiple instances (pods), each instance maintains its own limit.
Please adjust the values accordingly based on your deployment scale.

Auto-Created Workspaces

Settings related to automatic workspace creation during user signup, including storage, bandwidth, and package limits.

NameTypeDescriptionDefaultRequired
IS_AUTO_CREATE_WORKSPACE_ON_SIGNUPBooleanAutomatically creates a workspace upon user signupfalseNo
AUTO_CREATED_WORKSPACE_STORAGE_LIMIT_IN_BYTESNumberStorage limit in bytes for auto-created workspaces10000000000No
AUTO_CREATED_WORKSPACE_BANDWIDTH_LIMIT_IN_BYTESNumberBandwidth limit in bytes for auto-created workspaces10000000000No
AUTO_CREATED_WORKSPACE_PACKAGE_AMOUNT_LIMITNumberPackage amount limit for auto-created workspaces100No
AUTO_CREATED_WORKSPACE_AI_USAGE_LIMITNumberAI usage limit for auto-created workspaces0No

AI & LLM Configuration

Settings related to AI features and Large Language Models.

RepoFlow supports openai, ollama, anthropic, mistral, cohere, huggingface, azure, bedrock, and vertex. In most setups, openai, anthropic, mistral, cohere, and azure use the general settings below with LLM_MODEL_NAME and LLM_API_KEY. Additional provider-specific environment variables are only needed for ollama, huggingface, bedrock, and vertex.

General LLM Settings

NameTypeDescriptionDefaultRequired
ENABLE_AI_FEATURESBooleanEnables AI-related features in the applicationfalseNo
LLM_README_AUTO_SUMMARY_ENABLEDBooleanWhen enabled, automatically generates and displays an AI summary when visiting a package page (triggers an LLM request). When disabled, the user must click to generate a summary manually.trueNo
LLM_REQUEST_TIME_OUT_IN_SECONDSNumberTimeout for requests sent to the LLM provider (in seconds)240No
LLM_PROVIDERStringThe LLM provider to use (openai, ollama, anthropic, mistral, cohere, huggingface, azure, bedrock, vertex)ollamaNo
LLM_API_KEYStringAPI key for providers that use key-based authentication. For LLM_PROVIDER=vertex, this is the no-service-account option and takes precedence over LLM_GOOGLE_CLOUD_CREDENTIALS_JSON if both are set.No
LLM_MODEL_NAMEStringThe model name to use for LLM operations. For Vertex, this would typically be a Gemini model such as gemini-2.5-flash.No
LLM_MAX_CONTEXT_SIZENumberMaximum number of tokens from the conversation context to send to the LLM in a single request.4000No

Ollama and Hugging Face Settings

NameTypeDescriptionDefaultRequired
LLM_SERVER_URLStringURL of the LLM server when LLM_PROVIDER=ollama or LLM_PROVIDER=huggingface. For Hugging Face, this should point to a TGI server or endpoint root, not /models.No

AWS Bedrock Settings

NameTypeDescriptionDefaultRequired
LLM_ACCESS_KEY_IDStringAccess key ID when LLM_PROVIDER=bedrockNo
LLM_SECRET_ACCESS_KEYStringSecret access key when LLM_PROVIDER=bedrockNo
LLM_REGIONStringAWS region when LLM_PROVIDER=bedrockNo

Vertex AI and Gemini Settings

NameTypeDescriptionDefaultRequired
LLM_PROJECT_IDStringGoogle Cloud project ID for Vertex authentication flows that use LLM_GOOGLE_CLOUD_CREDENTIALS_JSON or Application Default Credentials (ADC) / Workload Identity. Usually not required when LLM_API_KEY is used.No
LLM_GOOGLE_CLOUD_CREDENTIALS_JSONStringInline Google Cloud service account credentials for Vertex. Supports plain JSON or base64-encoded JSON. If empty and LLM_API_KEY is not set, RepoFlow uses Application Default Credentials (ADC) / Workload Identity. RepoFlow also repairs common newline formatting issues in private_key.No
LLM_REGIONStringVertex location when LLM_PROVIDER=vertex, for example global or us-central1. Recommended to set explicitly.No

Vulnerability Scanning

Settings for vulnerability scanning of packages and container images.

NameTypeDescriptionDefaultRequired
IS_VULNERABILITY_SCANNING_ENABLEDBooleanEnables vulnerability scanning for packages and container images using Grype.trueNo
VULNERABILITY_SCANNING_MAX_PARALLEL_SCANSNumberMaximum number of vulnerability scans to run in parallel.1No
VULNERABILITY_SCANNING_ON_UPLOAD_ENABLEDBooleanWhen enabled, triggers vulnerability scanning as part of package uploads.falseNo
VULNERABILITY_SCANNING_SCHEDULED_ENABLEDBooleanWhen enabled, runs scheduled vulnerability scans.falseNo
VULNERABILITY_SCANNING_SCHEDULED_CRONStringCron expression for scheduled vulnerability scans.0 0 * * *No
VULNERABILITY_SCANNING_SCHEDULED_RESCAN_ENABLEDBooleanWhen enabled, scheduled scans will also re-scan previously scanned artifacts.falseNo
VULNERABILITY_SCANNING_SCHEDULED_RESCAN_MIN_AGE_IN_HOURSNumberMinimum age (in hours) before an artifact is eligible for scheduled re-scan.5No
GRYPE_AUTO_UPDATEBooleanAutomatically updates Grype's vulnerability database. For offline or air-gapped environments, set this to false.trueNo
GRYPE_AUTO_UPDATE_CRONStringCron expression to control how often Grype's vulnerability database is updated.0 0 * * *No

Retention Rules

Settings for enabling retention rules and configuring how they run.

NameTypeDescriptionDefaultRequired
ENABLE_RETENTION_RULESBooleanEnables retention rules.trueNo
RETENTION_RULES_ENABLE_FILE_RULESBooleanEnables retention rules that target specific files (file-based rules). Not recommended unless you fully understand RepoFlow’s file structure—misuse may break package functionality.falseNo
RETENTION_RULES_CONCURRENCY_LIMITNumberMaximum number of retention rules the server may run in parallel. Use this to limit CPU/memory load and avoid impacting normal operations.2No
RETENTION_RULES_MAX_RULES_PER_REPOSITORYNumberMaximum number of retention rules allowed per repository. Helps prevent over usage of retention rules that add unnecessary load to the server.10No

Networking (Proxy & Custom CA Certificates)

Settings for outbound HTTP(S) networking (proxies) and custom TLS certificate authorities (CAs).

Proxy

These environment variables follow the standard proxy conventions used by many HTTP clients/libraries.

When a proxy is configured, RepoFlow applies it to outbound network requests by default. In most self-hosted setups, you should use a NO_PROXY list so internal services are reached directly instead of through the proxy. This is usually needed in the default self-hosted deployments, where services such as the database, Hasura, and object storage are typically internal. You generally only skip a bypass list when all dependent services are external.

NameTypeDescriptionDefaultRequired
HTTP_PROXYStringProxy URL to use for outbound HTTP requests.""No
HTTPS_PROXYStringProxy URL to use for outbound HTTPS requests.""No
NO_PROXYStringComma-separated list of hosts/IPs (optionally with ports) that should bypass the proxy. When OUTGOING_PROXY_BYPASS_INTERNAL is enabled, RepoFlow appends deployment-specific internal entries to this value automatically.""No
OUTGOING_PROXY_BYPASS_INTERNALBooleanWhen enabled, RepoFlow appends an internal NO_PROXY list based on the active installation method. This keeps local/internal traffic from being routed through the outbound proxy.trueNo
OUTGOING_PROXY_STARTUP_CHECKBooleanWhen enabled, performs an outbound networking check on startup (useful to validate proxy configuration).trueNo

When OUTGOING_PROXY_BYPASS_INTERNAL=true, RepoFlow preserves any value you set in NO_PROXY and appends these additional entries automatically based on the installation method:

  • Helm / Kubernetes: localhost,127.0.0.1,::1,.svc,.cluster.local
  • Docker Compose: localhost,127.0.0.1,::1,host.docker.internal
  • Docker all-in-one: localhost,127.0.0.1,::1

Custom CA certificates

NameTypeDescriptionDefaultRequired
REPOFLOW_CUSTOM_CA_PEMStringAdditional CA certificate(s) to trust for outbound TLS verification. Supports either PEM text or base64-encoded PEM.""No

Docker Configuration

Settings related to Docker behavior, including registry/auth handling and image path structure.

NameTypeDescriptionDefaultRequired
DOCKER_AUTH_USE_REQUEST_HOSTBooleanIf true, uses the request's host and protocol for authentication. Otherwise, it defaults to SERVER_URL, which is recommended.falseNo
DOCKER_MAX_IMAGE_DEPTHNumberMaximum allowed Docker image path depth for upload routes. Use this to allow multi-level image paths like team/backend/api. Minimum value is 2.4No

NPM Configuration

Settings related to npm behavior, including how much of package.json is returned in API responses like npm info.

NameTypeDescriptionDefaultRequired
NPM_MANIFEST_MODEStringOptions: summary, allowlist, full. summary is best for download speed and bandwidth. allowlist adds the listed fields plus the default ones. full adds the entire manifest except fields RepoFlow already includes separately.summaryNo
NPM_MANIFEST_FIELDS_ALLOWLISTStringComma separated list of top level fields when mode is allowlist. Example: keywords,deployment,repository.No

Note: Any change to NPM_MANIFEST_MODE requires re-uploading all npm packages for it to take full effect.

Scheduled Tasks & Cron Jobs

Settings for automated background tasks.

⚠ Caution: Modifying these settings without a full understanding of their impact can disrupt essential maintenance, cleanup, or system processes. Only change them if you are sure of their effect on your system.

NameTypeDescriptionDefaultRequired
SCHEDUAL_TASKS_FILES_GARBAGE_CRONStringCron schedule for garbage collection tasks0 3 * * *No
SCHEDUAL_TASKS_MAX_TIME_FOR_INACTIVE_TASKStringMax time for inactive tasks2mNo
SCHEDUAL_TASKS_CLEAN_INACTIVE_TASKS_CRONStringCron schedule for cleaning inactive tasks*/5 * * * *No
SCHEDUAL_TASKS_RESET_WORKSPACE_TRANSFER_USAGE_CRONStringCron schedule for resetting workspace transfer usage0 1 * * *No
SCHEDUAL_TASKS_DELETE_PACKAGES_WITHOUT_VERSIONS_CRONStringCron schedule for deleting packages that have no versions (currently applicable only for Docker repositories)0 */5 * * *No
SCHEDUAL_TASKS_CLEAN_INACIVE_RUNNING_RETENTION_RULES_CRONStringCron schedule for marking “running” retention rules as failed when they stop reporting status updates.*/5 * * * *No
SCHEDUAL_TASKS_RUN_RETENTION_RULES_CRONStringCron schedule for checking which retention rules are due to run and executing them.*/4 * * * *No
SCHEDUAL_TASKS_DELETE_OLD_SCHEDUAL_TASKS_CRONStringCron schedule for deleting old scheduled task history records.0 1 * * *No
CHECK_FOR_INACTIVE_MANUAL_TASKS_CRONStringCron schedule for checking inactive manual tasks*/5 * * * *No
CHECK_FOR_PENDING_MANUAL_TASKS_CRONStringCron schedule for checking pending manual tasks*/5 * * * *No
TIME_TILL_MANUAL_TASKS_INACTIVEStringTime until manual tasks become inactive2mNo
SCHEDUAL_TASKS_HISTORY_DAYS_LIMITNumberNumber of days to keep scheduled task history records (helps prevent database clutter).30No