2023-07-17 12:08:02 +00:00
#!/usr/bin/env bash
2023-09-20 08:57:13 +00:00
# Please change this to domain of the server where oneuptime is hosted on.
HOST = localhost
2023-09-11 14:09:53 +00:00
2024-06-24 18:47:15 +00:00
# OneUptime Port. This is the port where OneUptime will be hosted on.
ONEUPTIME_HTTP_PORT = 80
2024-06-21 16:38:30 +00:00
# ==============================================
# SETTING UP TLS/SSL CERTIFICATES
# ==============================================
# OneUptime DOES NOT support setting up SSL/TLS certificates. You need to setup SSL/TLS certificates on your own.
# If you need to use SSL/TLS certificates, then you need to use a reverse proxy like Nginx/Caddy and use LetsEncrypt to provision the certificates.
# You then need to point the reverse proxy to the OneUptime server.
# Once you have done that,
# - You can set the HTTP_PROTOCOL to https
# - Change the HOST to the domain name of the server where reverse proxy is hosted.
2023-09-29 11:24:45 +00:00
HTTP_PROTOCOL = http
2023-07-17 12:08:02 +00:00
# Secrets - PLEASE CHANGE THESE. Please change these to something random. All of these can be different values.
2023-07-19 11:01:09 +00:00
ONEUPTIME_SECRET = please-change-this-to-random-value
DATABASE_PASSWORD = please-change-this-to-random-value
CLICKHOUSE_PASSWORD = please-change-this-to-random-value
REDIS_PASSWORD = please-change-this-to-random-value
ENCRYPTION_SECRET = please-change-this-to-random-value
2023-07-19 11:59:10 +00:00
GLOBAL_PROBE_1_KEY = please-change-this-to-random-value
GLOBAL_PROBE_2_KEY = please-change-this-to-random-value
2023-08-15 14:11:36 +00:00
INTERNAL_SMTP_PASSWORD = please-change-this-to-random-value
2023-07-17 12:08:02 +00:00
2024-02-02 14:43:40 +00:00
2024-06-24 18:47:15 +00:00
2024-06-24 18:42:46 +00:00
# If you are connecting Status Pages to custom domains, then this will be the port where the status page will be hosted on.
2024-06-24 18:56:45 +00:00
# This should be https port because oneuptime automatically generates ssl certs from lets encrypt.
2024-06-24 18:42:46 +00:00
STATUS_PAGE_HTTPS_PORT = 443
2023-07-17 12:08:02 +00:00
2023-07-17 16:45:07 +00:00
# If you would like to attach status page to custom domains use this setting.
# For example, lets say you would like the status page to be hosted on status.yourcompany.com, then
2023-07-31 16:10:42 +00:00
# 1. Create a A record in your DNS provider with the name "oneuptime.yourcompany.com" and value to Public IP of the server oneuptime is deployed on.
2023-07-17 16:45:07 +00:00
# 2. Set the STATUS_PAGE_CNAME_RECORD to "oneuptime.yourcompany.com"
2023-07-31 16:10:42 +00:00
# 3. Create CNAME record in your DNS provider with the name "status.yourcompany.com" and value "oneuptime.yourcompany.com"
2023-07-19 11:01:09 +00:00
STATUS_PAGE_CNAME_RECORD = oneuptime.yourcompany.com
2023-07-17 16:45:07 +00:00
2023-07-17 12:30:20 +00:00
# --------------------------------------------- #
2023-07-17 12:08:02 +00:00
# You can safely ignore anything below this line. Keep them as default to make things work.
2023-07-17 12:30:20 +00:00
# --------------------------------------------- #
2023-07-17 12:08:02 +00:00
# This supports test | production | development | ci.
# Development is used for local development. Test is used for insider / beta / staging builds. Production is used for production ready app. ci is for testing in the CI/CD.
2023-07-19 11:01:09 +00:00
ENVIRONMENT = production
2023-07-17 12:08:02 +00:00
2023-07-17 12:30:20 +00:00
# What image should we pull from docker hub. This only applies when the ENVIRONMENT is production or test
2023-07-19 11:01:09 +00:00
APP_TAG = release
2023-07-17 12:08:02 +00:00
2024-08-04 02:07:56 +00:00
# What is the name of the docker compose project. This is used to prefix the docker containers.
2023-07-19 11:01:09 +00:00
COMPOSE_PROJECT_NAME = oneuptime
2023-07-17 18:50:48 +00:00
2024-06-21 16:21:20 +00:00
# OTEL HOST - if you like the collector to be hosted on a different server then change this to the IP of the server.
OTEL_COLLECTOR_HOST =
# FLUENTD_HOST - if you like the fluentd to be hosted on a different server then change this to the IP of the server.
FLUENTD_HOST =
2023-07-17 12:08:02 +00:00
# Clickhouse Settings
2023-07-19 11:01:09 +00:00
CLICKHOUSE_USER = default
CLICKHOUSE_DATABASE = oneuptime
2023-08-19 19:49:24 +00:00
CLICKHOUSE_HOST = clickhouse
CLICKHOUSE_PORT = 8123
2023-07-17 12:08:02 +00:00
# Postgres DB Settings.
2023-07-19 11:01:09 +00:00
DATABASE_PORT = 5432
DATABASE_USERNAME = postgres
DATABASE_NAME = oneuptimedb
DATABASE_HOST = postgres
2023-07-17 12:08:02 +00:00
2023-07-30 13:04:31 +00:00
# Used to connect to managed postgres providers.
# Fill only what your provider needs.
2023-07-31 09:51:17 +00:00
DATABASE_SSL_REJECT_UNAUTHORIZED = false
DATABASE_SSL_CA =
DATABASE_SSL_KEY =
DATABASE_SSL_CERT =
2023-07-30 13:04:31 +00:00
2023-07-17 12:08:02 +00:00
# Redis DB Settings.
2023-07-19 11:01:09 +00:00
REDIS_HOST = redis
REDIS_PORT = 6379
2023-08-02 13:29:31 +00:00
REDIS_DB = 0
REDIS_USERNAME = default
REDIS_TLS_CA =
REDIS_TLS_SENTINEL_MODE = false
2023-07-17 12:08:02 +00:00
2023-09-14 06:17:56 +00:00
# Hostnames. Usually does not need to change.
2023-10-09 17:54:23 +00:00
INGESTOR_HOSTNAME = ingestor:3400
2023-09-14 06:17:56 +00:00
2023-09-26 15:08:05 +00:00
SERVER_ACCOUNTS_HOSTNAME = accounts
SERVER_REALTIME_HOSTNAME = realtime
2023-12-28 16:56:05 +00:00
SERVER_APP_HOSTNAME = app
2023-10-09 17:54:23 +00:00
SERVER_INGESTOR_HOSTNAME = ingestor
2023-09-26 15:08:05 +00:00
SERVER_TEST_SERVER_HOSTNAME = test-server
SERVER_STATUS_PAGE_HOSTNAME = status-page
SERVER_DASHBOARD_HOSTNAME = dashboard
SERVER_ADMIN_DASHBOARD_HOSTNAME = admin-dashboard
2023-12-30 12:12:24 +00:00
SERVER_OTEL_COLLECTOR_HOSTNAME = otel-collector
2023-09-26 15:08:05 +00:00
2023-10-09 17:50:37 +00:00
#Ports. Usually they don't need to change.
2023-10-09 17:54:23 +00:00
2023-12-28 16:56:05 +00:00
APP_PORT = 3002
2023-10-09 17:54:23 +00:00
INGESTOR_PORT = 3400
2023-07-19 11:01:09 +00:00
PROBE_PORT = 3500
TEST_SERVER_PORT = 3800
ACCOUNTS_PORT = 3003
STATUS_PAGE_PORT = 3105
DASHBOARD_PORT = 3009
2023-08-25 14:20:00 +00:00
ADMIN_DASHBOARD_PORT = 3158
2023-12-30 13:22:57 +00:00
OTEL_COLLECTOR_HTTP_PORT = 4318
2024-04-05 17:33:52 +00:00
ISOLATED_VM_PORT = 4572
2023-07-17 12:08:02 +00:00
2023-08-15 14:11:36 +00:00
# If USE_INTERNAL_SMTP is true then you need to fill these values.
2023-09-25 11:12:22 +00:00
INTERNAL_SMTP_FROM_NAME = OneUptime
2023-08-15 14:11:36 +00:00
INTERNAL_SMTP_DKIM_PRIVATE_KEY_AS_BASE64 =
INTERNAL_SMTP_DKIM_PUBLIC_KEY_AS_BASE64 =
INTERNAL_SMTP_EMAIL = test@yourcompany.com
2023-08-15 21:02:30 +00:00
INTERNAL_SMTP_SENDING_DOMAIN = yourcompany.com
2023-08-15 14:11:36 +00:00
2023-07-17 12:08:02 +00:00
# Plans
2023-07-17 19:17:30 +00:00
# This is in the format of PlanName,PlanIdFromBillingProvider,MonthlySubscriptionPlanAmountInUSD,YearlySubscriptionPlanAmountInUSD,Order,TrialPeriodInDays
2023-07-17 12:08:02 +00:00
# Enterprise plan will have -1 which means custom pricing.
2023-07-19 11:01:09 +00:00
SUBSCRIPTION_PLAN_BASIC = Basic,priceMonthlyId,priceYearlyId,0,0,1,0
SUBSCRIPTION_PLAN_GROWTH = Growth,priceMonthlyId,priceYearlyId,0,0,2,14
SUBSCRIPTION_PLAN_SCALE = Scale,priceMonthlyId,priceYearlyId,0,0,3,0
SUBSCRIPTION_PLAN_ENTERPRISE = Enterprise,priceMonthlyId,priceYearlyId,-1,-1,4,14
2023-07-17 12:08:02 +00:00
2024-03-17 11:46:32 +00:00
# If you want to run the backup script, then you need to fill these values.
2023-07-19 11:01:09 +00:00
DATABASE_BACKUP_DIRECTORY = /Backups
DATABASE_BACKUP_HOST = localhost
DATABASE_BACKUP_PORT = 5400
DATABASE_BACKUP_NAME = oneuptimedb
DATABASE_BACKUP_USERNAME = postgres
DATABASE_BACKUP_PASSWORD = ${ DATABASE_PASSWORD }
2023-07-17 12:08:02 +00:00
2024-03-17 11:46:32 +00:00
# If you want to run the restore script, then you need to fill these values. Use host.docker.internal if you want to use the host machine's IP.
DATABASE_RESTORE_HOST = host.docker.internal
2023-07-19 11:01:09 +00:00
DATABASE_RESTORE_DIRECTORY = /Backups
DATABASE_RESTORE_PORT = 5400
DATABASE_RESTORE_NAME = oneuptimedb
DATABASE_RESTORE_USERNAME = postgres
DATABASE_RESTORE_PASSWORD = ${ DATABASE_PASSWORD }
DATABASE_RESTORE_FILENAME = db-31.backup
2023-07-17 12:08:02 +00:00
2023-07-19 11:01:09 +00:00
ANALYTICS_KEY =
ANALYTICS_HOST =
2023-07-17 12:08:02 +00:00
2023-07-19 11:01:09 +00:00
DATABASE_MIGRATIONS_HOST = localhost
DATABASE_MIGRATIONS_PORT = 5400
2023-07-17 12:08:02 +00:00
# Global Probes
2023-07-17 19:17:30 +00:00
# This is in the format of GLOBAL_PROBE_NAME=ProbeName,ProbeDescription,ProbeKey
2023-07-19 12:06:39 +00:00
GLOBAL_PROBE_1_NAME = "Probe-1"
2023-07-19 11:59:10 +00:00
GLOBAL_PROBE_1_DESCRIPTION = "Global probe to monitor oneuptime resources"
2023-08-07 14:28:07 +00:00
GLOBAL_PROBE_1_MONITORING_WORKERS = 5
2023-08-07 14:22:45 +00:00
GLOBAL_PROBE_1_MONITOR_FETCH_LIMIT = 10
2024-01-29 12:16:46 +00:00
GLOBAL_PROBE_1_ONEUPTIME_URL = http://ingestor:3400
2024-05-22 19:06:32 +00:00
GLOBAL_PROBE_1_SYNTHETIC_MONITOR_SCRIPT_TIMEOUT_IN_MS = 60000
GLOBAL_PROBE_1_CUSTOM_CODE_MONITOR_SCRIPT_TIMEOUT_IN_MS = 60000
2023-07-19 11:59:10 +00:00
2023-07-19 12:06:39 +00:00
GLOBAL_PROBE_2_NAME = "Probe-2"
2023-07-19 11:59:10 +00:00
GLOBAL_PROBE_2_DESCRIPTION = "Global probe to monitor oneuptime resources"
2023-08-07 14:28:07 +00:00
GLOBAL_PROBE_2_MONITORING_WORKERS = 5
2023-08-07 14:22:45 +00:00
GLOBAL_PROBE_2_MONITOR_FETCH_LIMIT = 10
2024-01-29 12:16:46 +00:00
GLOBAL_PROBE_2_ONEUPTIME_URL = http://ingestor:3400
2024-05-22 19:06:32 +00:00
GLOBAL_PROBE_2_SYNTHETIC_MONITOR_SCRIPT_TIMEOUT_IN_MS = 60000
GLOBAL_PROBE_2_CUSTOM_CODE_MONITOR_SCRIPT_TIMEOUT_IN_MS = 60000
2023-07-17 12:08:02 +00:00
2023-07-19 11:01:09 +00:00
SMS_DEFAULT_COST_IN_CENTS =
CALL_DEFAULT_COST_IN_CENTS_PER_MINUTE =
2023-07-17 12:30:20 +00:00
2023-10-27 16:14:58 +00:00
SMS_HIGH_RISK_COST_IN_CENTS =
CALL_HIGH_RISK_COST_IN_CENTS_PER_MINUTE =
2023-07-17 12:30:20 +00:00
# IS BILLING ENABLED for this installer.
2023-07-19 11:01:09 +00:00
BILLING_ENABLED = false
2023-07-17 12:30:20 +00:00
# Public and private key for billing provider, usually stripe.
2023-07-19 11:01:09 +00:00
BILLING_PUBLIC_KEY =
BILLING_PRIVATE_KEY =
2023-08-06 19:00:46 +00:00
# Use this when you want to disable incident creation.
DISABLE_AUTOMATIC_INCIDENT_CREATION = false
2023-09-26 15:08:05 +00:00
2024-02-23 12:47:14 +00:00
# If you're using an extrenal open telemetry collector, you can set the endpoint here - both server and client endpoint can be the same in this case.
2024-02-22 16:54:34 +00:00
# You can set the env var to http://otel-collector:4318 if you want instrumentation to be sent to otel collector.
2024-08-02 01:40:56 +00:00
OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT =
2024-02-19 20:08:51 +00:00
2024-08-02 01:37:46 +00:00
# You can set the env var to "x-oneuptime-token=<YOUR_ONEUPTIME_TELEMETRY_INGEST_TOKEN>"
OPENTELEMETRY_EXPORTER_OTLP_HEADERS =
2024-03-12 10:17:13 +00:00
2024-04-05 16:52:34 +00:00
# This can be one of ERROR, WARN, INFO, DEBUG
LOG_LEVEL = ERROR
2024-04-25 20:53:51 +00:00
# Thse env vars are for E2E tests
E2E_TEST_IS_USER_REGISTERED = false
2024-06-13 17:49:19 +00:00
E2E_TEST_REGISTERED_USER_EMAIL =
2024-05-14 18:12:52 +00:00
E2E_TEST_REGISTERED_USER_PASSWORD =
2024-04-26 17:46:10 +00:00
# If you want to run the E2E tests on a status page, then you need to fill in the URL.
2024-05-14 18:12:52 +00:00
E2E_TEST_STATUS_PAGE_URL =
2024-02-19 20:08:51 +00:00
2024-04-26 17:54:23 +00:00
# This URL will be called when the E2E tests fail. This should be a GET endpoint.
2024-05-14 18:12:52 +00:00
E2E_TESTS_FAILED_WEBHOOK_URL =
2024-04-26 17:54:23 +00:00
2024-02-19 20:08:51 +00:00
2024-05-22 19:06:32 +00:00
# This is the timeout for the workflow script in milliseconds.
WORKFLOW_SCRIPT_TIMEOUT_IN_MS = 5000
2024-04-28 12:09:23 +00:00
# Lets encrypt notification email. This email will be used when certs are about to expire
2024-04-28 12:18:09 +00:00
LETS_ENCRYPT_NOTIFICATION_EMAIL =
2024-05-01 11:13:01 +00:00
# Generate a private key via openssl, encode it to base64 and paste it here.
2024-08-08 15:56:15 +00:00
# Example: "LS0tLS....1cbg=="
2024-05-01 11:37:41 +00:00
LETS_ENCRYPT_ACCOUNT_KEY =
2024-04-28 12:09:23 +00:00
2024-06-11 12:50:55 +00:00
# This is the number of active monitors allowed in the free plan.
ALLOWED_ACTIVE_MONITOR_COUNT_IN_FREE_PLAN = 10
2024-06-25 21:48:46 +00:00
# Notifications Webhook (Slack)
# This webhook notifies slack when the new user signs up or is created.
NOTIFICATION_WEBHOOK_ON_CREATED_USER =
2024-06-28 11:14:49 +00:00
2024-07-08 11:11:52 +00:00
# Copilot Environment Variables
COPILOT_ONEUPTIME_URL = http://localhost
COPILOT_ONEUPTIME_REPOSITORY_SECRET_KEY =
2024-07-08 14:45:14 +00:00
COPILOT_CODE_REPOSITORY_PASSWORD =
COPILOT_CODE_REPOSITORY_USERNAME =
2024-07-10 17:19:09 +00:00
COPILOT_ONEUPTIME_LLM_SERVER_URL =
2024-07-10 20:05:47 +00:00
# Set this to false if you want to enable copilot.
DISABLE_COPILOT = true
2024-07-10 19:59:46 +00:00
COPILOT_OPENAI_API_KEY =
2024-07-12 20:37:03 +00:00
# LLM Environment Variables
# Hugging Face Token for LLM Server to downlod models from Hugging Face
LLM_SERVER_HUGGINGFACE_TOKEN =
# Hugging Face Model Name for LLM Server to download.
LLM_SERVER_HUGGINGFACE_MODEL_NAME =