Skip to main content

Server Environment Variables

This list all the supported environment variables for the server side of RepoFlow. These variables are required to connect to the database, S3, 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
COOKIE_SECUREBooleanIndicates if cookies should be securetrueNo
CORS_WHITELISTString ArrayList of allowed origins for CORS; server URL and frontend URL will be automatically allowed[]No
COOKIE_DOMAINStringDomain for the cookiesDerived from FRONTEND_URLNo
COOKIE_SAME_SITEStringSameSite attribute for cookies (strict/lax/none)strictNo
COOKIE_HTTP_ONLYBooleanIndicates if cookies should be HTTP onlyfalseNo
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 bytes1000000000No
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.trueNo

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 signuptrueNo
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

Storage Configuration (S3)

Settings related to S3 storage.

NameTypeDescriptionDefaultRequired
S3_ACCESS_KEYStringAccess key for S3Yes
S3_SECRET_KEYStringSecret key for S3Yes
S3_USE_SSLBooleanUse SSL for S3trueNo
S3_PORTNumberPort for S3Yes
S3_END_POINTStringEndpoint for S3Yes
S3_BUCKETStringS3 bucket nameYes
S3_CREATE_BUCKET_IF_NOT_EXISTBooleanCreate bucket if it does not existtrueNo
S3_IS_AWS_S3BooleanIndicates if S3 is AWS S3falseNo
S3_REGIONStringAWS S3 regionus-east-1No
S3_KEEP_ALIVEBooleanKeep alive connections to S3 providerfalseNo
S3_MAX_SOCKETSNumberMaximum number of simultaneous socket connections to the S3 server 5050No
S3_USE_PRE_SIGNED_URLBooleanUse pre-signed URLs for S3. This means the server will redirect files to S3 whenever possible, reducing server load and bandwidth costtrueNo
S3_TEST_PERFORMANCE_ON_STARTStringSet to true to enable the performance test. Useful for debugging slowdowns and ensuring your setup is optimized.falseNo
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_SUPPORTEDNo
S3_RESPONSE_CHECKSUM_CALCULATIONStringDefines when response checksum calculation is performed. Options: WHEN_REQUIRED, WHEN_SUPPORTED.WHEN_SUPPORTEDNo

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.falseNo
HASURA_UPGRADE_METADATA_FOLDERBooleanSpecifies the location where the server will copy Hasura files during a database upgrade. Useful for systems running in read-only mode../hasura-runtimeNo

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 nameNo
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

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
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

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
COOCKIE_EXPIRY_IN_SECONDSNumberCookie expiry time in seconds604800No
JWS_ALGORITHMStringAlgorithm for JWSHS256No
DEFAULT_ADMIN_USER_NAMEStringDefault admin usernameadminNo
DEFAULT_ADMIN_PASSWORDStringDefault admin passwordpasswordNo

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.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

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
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

AI & LLM Configuration

Settings related to AI features and Large Language Models.

NameTypeDescriptionDefaultRequired
ENABLE_AI_FEATURESBooleanEnables AI-related features in the applicationfalseNo
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)ollamaNo
LLM_SERVER_URLStringURL of the LLM server (only relevant when LLM_PROVIDER is ollama)No
LLM_API_KEYStringAPI key for the selected LLM providerNo
LLM_MODEL_NAMEStringThe model name to use for LLM operationsNo
LLM_ACCESS_KEY_IDStringAccess key ID (only relevant when LLM_PROVIDER is aws_bedrock)No
LLM_SECRET_ACCESS_KEYStringSecret access key (only relevant when LLM_PROVIDER is aws_bedrock)No
LLM_REGIONStringAWS region (only relevant when LLM_PROVIDER is aws_bedrock)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
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

Docker Authentication Configuration

Settings related to Docker authentication and authorization.

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