Skynet Environment Variables

July 2, 2026 ยท View on GitHub

Skynet is configurable via environment variables. Some are shared by all modules, while others are specific to each one of them. You can skip setting the env variables for the disabled modules.

Shared Environment Variables

NameDescriptionDefaultAvailable values
ENABLE_METRICSIf the Prometheus metrics endpoint should be enabled or nottruetrue, false
ENABLED_MODULESWhich modules should be enabled, separated by commassummaries:dispatcher,summaries:executor,assistantsummaries:dispatcher, summaries:executor, assistant, streaming_whisper
BYPASS_AUTHORIZATIONIf signed JWT authorization should be enabledfalsetrue, false
ASAP_PUB_KEYS_REPO_URLPublic key repository URLNULLN/A
ASAP_PUB_KEYS_FOLDERPublic key repository root pathNULLN/A
ASAP_PUB_KEYS_AUDSAllowed JWT audiences, separated by commasNULLN/A
ASAP_PUB_KEYS_MAX_CACHE_SIZEPublic key maximum cache size in bytes512N/A
LOG_LEVELLog levelDEBUGDEBUG, INFO, WARNING, ERROR, CRITICAL
DISABLE_LLM_HEALTH_CHECKDisables LLM health check if only OpenAI/Azure will be usedfalsetrue, false

Assistant Module Environment Variables

NameDescriptionDefaultAvailable values
EMBEDDINGS_CHUNK_SIZEMax size (in characters) of documents for which embeddings will be computed. Should be less than the max tokens of the embedding model5000N/A
EMBEDDINGS_MODEL_PATHThe path where the embeddings model is located.BAAI/bge-m3N/A
VECTOR_STORE_PATHThe default path where the vector store is saved locally_vector_store_N/A

Summaries Module Environment Variables

NameDescriptionDefaultAvailable values
ENABLE_BATCHINGEnable submitting jobs for inference while others are running. The actual batching needs to be supported by the underlying inference processortruetrue,false
LLAMA_PATHThe path where the llama model is located.llama3.1N/A
LLAMA_N_CTXThe context size of the llama model128000N/A
JOB_TIMEOUTTimeout in seconds after which an inference job will be considered stuck and the app killed.300N/A
SUMMARY_MINIMUM_PAYLOAD_LENGTHThe minimum payload length allowed for summarization.100N/A
SKYNET_LISTEN_IPDefault ip address on which the webserver is started.0.0.0.0N/A
SKYNET_PORTDefault port on which the webserver is started.8000N/A

AI Studio Usage Reporting

When enabled, each completed inference job reports the tokens it consumed (as reported by the engine) to AI Studio's usage registry, so summary spend is counted alongside AI Studio's own in 8x8's customer-token metric. Disabled unless AI_STUDIO_USAGE_ENABLED is set; the URL and token must also be provided.

NameDescriptionDefaultAvailable values
AI_STUDIO_USAGE_ENABLEDEnable reporting per-job token usage to AI Studio.falsetrue, false
AI_STUDIO_USAGE_URLFull URL of the AI Studio usage endpoint (e.g. https://8x8.studio/api/usage).NULLN/A
AI_STUDIO_USAGE_TOKENGlobal service token (Bearer) authorising cross-tenant usage writes.NULLN/A
AI_STUDIO_USAGE_CHANNELChannel label recorded on each usage event.skynet_summaryN/A
AI_STUDIO_USAGE_TIMEOUTTimeout in seconds for the usage-reporting request.5N/A

Redis vars

NameDescriptionDefaultAvailable values
REDIS_EXP_SECONDSAfter how many seconds will a completed job expire/be deleted from Redis1800N/A
REDIS_HOSTRedis hostlocalhostN/A
REDIS_PORTRedis port6379N/A
REDIS_USE_TLSUse TLS when connecting to RedisfalseN/A
REDIS_DB_NORedis database number0N/A
REDIS_USRRedis user if using user/pass authNULLN/A
REDIS_PWDRedis pass if using user/pass authNULLN/A
REDIS_AWS_SECRET_IDThe ID of the secret to retrieve from AWS Secrets ManagerNULLN/A
REDIS_USE_SECRETS_MANAGERUse AWS Secrets Manager to retrieve credentialsfalseN/A
REDIS_NAMESPACEPrefix for each Redis keyskynetN/A
REDIS_AWS_REGIONThe AWS region. Needed when using AWS Secrets Manager to retrieve credentials.us-west-2N/A

OCI vars

NameDescriptionDefaultAvailable values
OCI_MAX_TOKENSOCI Maximum output tokens (check https://docs.oracle.com/en-us/iaas/Content/generative-ai/pretrained-models.htm)4000N/A
OCI_MODEL_IDOCI Model idNULLN/A
OCI_SERVICE_ENDPOINTOCI Service endpointhttps://inference.generativeai.us-chicago-1.oci.oraclecloud.comN/A
OCI_COMPARTMENT_IDOCI Compartment IDNULLN/A
OCI_AUTH_TYPEOCI Authorization typeAPI KEYN/A
OCI_CONFIG_PROFILEOCI Config profileDEFAULTN/A

S3 vars (used for RAG vector store replication)

NameDescriptionDefaultAvailable values
SKYNET_S3_ACCESS_KEYS3 access keyNULLN/A
SKYNET_S3_BUCKETS3 bucketNULLN/A
SKYNET_S3_ENDPOINTS3 endpointNULLN/A
SKYNET_S3_REGIONS3 regionNULLN/A
SKYNET_S3_SECRET_KEYS3 secret keyNULLN/A

Streaming Whisper Module Environment Variables

NameDescriptionDefaultAvailable values
BEAM_SIZEWhisper beam size1N/A
WHISPER_MODEL_NAMEThe Faster Whisper model name to use if you want to download it automatically at start-up. Don't define it if you intend to mount the model as a volume.NULLtiny, tiny.en, small, small.en, base, base.en, medium, medium.en, large-v2, large-v1.
NOTE: check https://huggingface.co/SYSTRAN for model updates.
WHISPER_COMPUTE_TYPEQuantization https://opennmt.net/CTranslate2/quantization.htmlint8int8, int8_float32, int8_float16, int8_bfloat16, int16, float16, bfloat16, float32
WHISPER_GPU_INDICESUse multiple GPUs if available by specifying their indices separated by commas, e.g. 0,1 for two GPUs0N/A
WHISPER_DEVICEWhich device to use for inference. The default auto will automatically detect if a GPU is present and fall back to cpu if not.autoauto, cpu, gpu
WHISPER_MODEL_PATHThe path to the model folderf'{os.getcwd()}/models/streaming_whisper'N/A
WHISPER_RETURN_TRANSCRIBED_AUDIOIf the transcribed audio should be returned in the response as a base64 string for each segment. Useful for debugging.falsetrue, false