OCI_REGION=eu-frankfurt-1 OCI_USER_ID=ocid1.user.oc1..aaaaaaaax72***kd3q OCI_TENANCY_ID=ocid1.tenancy.oc1..aaaaaaaakpx***qmpa OCI_KEY_FINGERPRINT=b3:a5:90:***:b0:8d:1c # absolute path (including directories) or direct public accessible URL OCI_PRIVATE_KEY_FILENAME="/path/to/oracleidentitycloudservice_***-07-14-10-35.pem" OCI_SUBNET_ID=ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaaahbb***faq OCI_IMAGE_ID=ocid1.image.oc1.eu-frankfurt-1.aaaaaaaa23z***v6wa # Always free ARM (revised 2026: 1,500 OCPU hours/month = 2 OCPUs always-on): 1,2. Always free AMD x64: 1 OCI_OCPUS=2 # Always free ARM (revised 2026: 9,000 GB hours/month = 12 GB always-on): 6,12. # NB! Oracle Linux Cloud Developer Image requires minimum 8. Always free AMD x64: 1 OCI_MEMORY_IN_GBS=12 # Or "VM.Standard.E2.1.Micro" for Always free AMD x64 OCI_SHAPE=VM.Standard.A1.Flex OCI_MAX_INSTANCES=1 # Your public key ~/.ssh/id_rsa.pub contents # NB! No new lines / line endings allowed! Put inside double quotes OCI_SSH_PUBLIC_KEY="ssh-ed25519 AAAAC3N***o2U user@example.com" # Optional. Instance display name (shown in the OCI console). If not set, defaults to "instance-YYYYMMDD-HHMM". OCI_DISPLAY_NAME= # Optional. Actual OS hostname / internal DNS label (RFC 1123: letters, digits, hyphens; must # start/end with an alphanumeric; max 63 chars). If not set, OCI derives it from OCI_DISPLAY_NAME. OCI_HOSTNAME_LABEL= # Optional. Assign an ephemeral public IP to the instance (free while attached to a running # Always Free eligible instance; not billed like a standalone Reserved IP would be). Default: unset (no public IP). OCI_ASSIGN_PUBLIC_IP= # Is now optional for ARM since Always Free ARMs can be created in any AD. # ListAvailabilityDomains API call will be used for retrieval https://docs.oracle.com/en-us/iaas/api/#/en/identity/20160918/AvailabilityDomain/ListAvailabilityDomains # # NB! Always free AMD x64 instances should be created only in "main" (Always Free Eligible) AD, # you must set it manually in this case! # # If you wanna specify more than one, set as a Python list in the OciConfig constructor (inside main.py file) OCI_AVAILABILITY_DOMAIN= CACHE_AVAILABILITY_DOMAINS=1 # Optional. If not set, default value depends on OCI_IMAGE_ID will be used. # Minimum is 47 for AMD x64 or 50 for ARM, maximum is 200 for Always Free accounts OCI_BOOT_VOLUME_SIZE_IN_GBS= # Optional. If set, will be used instead OCI_IMAGE_ID. Cannot be used together with OCI_BOOT_VOLUME_SIZE_IN_GBS. # Open https://cloud.oracle.com/block-storage/boot-volumes, click non-used and copy it's OCID # NB! You must specify OCI_AVAILABILITY_DOMAIN also as they should be located in the same one OCI_BOOT_VOLUME_ID= TOO_MANY_REQUESTS_TIME_WAIT=600