#!/usr/bin/env bash # Which domain is this server hosted on? replace this with oneuptime.yourdomain.com or yourdomain.com. You can also set it to a server/VM IP address. DOMAIN=localhost # Secrets - PLEASE CHANGE THESE. Please change these to something random. All of these can be different values. 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 TOKEN_SECRET=please-change-this-to-random-value GLOBAL_PROBE_1_KEY=please-change-this-to-random-value GLOBAL_PROBE_2_KEY=please-change-this-to-random-value MINIO_ROOT_PASSWORD=please-change-this-to-random-value INTERNAL_SMTP_PASSWORD=please-change-this-to-random-value # Is this server hosted with a TLS cert (for ex: SSL from LetsEncrypt / Cloudflare). If yes, this should be "https" HTTP_PROTOCOL=http # OneUptime Port. This is the port where OneUptime will be hosted on. ONEUPTIME_HTTP_PORT=80 ONEUPTIME_HTTPS_PORT=443 # SMTP SETTINGS. You need to change these if you like emails to be sent. SMTP_USERNAME= SMTP_PASSWORD= SMTP_PORT= SMTP_EMAIL= SMTP_FROM_NAME= SMTP_IS_SECURE= SMTP_HOST= # 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 # 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. # 2. Set the STATUS_PAGE_CNAME_RECORD to "oneuptime.yourcompany.com" # 3. Create CNAME record in your DNS provider with the name "status.yourcompany.com" and value "oneuptime.yourcompany.com" STATUS_PAGE_CNAME_RECORD=oneuptime.yourcompany.com # --------------------------------------------- # # You can safely ignore anything below this line. Keep them as default to make things work. # --------------------------------------------- # # 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. ENVIRONMENT=production # What image should we pull from docker hub. This only applies when the ENVIRONMENT is production or test APP_TAG=release # What is the name of the docker-compose project. This is used to prefix the docker containers. COMPOSE_PROJECT_NAME=oneuptime # Clickhouse Settings CLICKHOUSE_USER=default CLICKHOUSE_DATABASE=oneuptime CLICKHOUSE_HOST=clickhouse CLICKHOUSE_PORT=8123 # Minio User Credentials. MINIO_ROOT_USER=oneuptime # Postgres DB Settings. DATABASE_PORT=5432 DATABASE_USERNAME=postgres DATABASE_NAME=oneuptimedb DATABASE_HOST=postgres # Used to connect to managed postgres providers. # Fill only what your provider needs. DATABASE_SSL_REJECT_UNAUTHORIZED=false DATABASE_SSL_CA= DATABASE_SSL_KEY= DATABASE_SSL_CERT= # Redis DB Settings. REDIS_HOST=redis REDIS_PORT=6379 REDIS_DB=0 REDIS_USERNAME=default REDIS_TLS_CA= REDIS_TLS_SENTINEL_MODE=false DISABLE_SIGNUP=false # Hostnames. Usually does not need to change. REALTIME_HOSTNAME=realtime:3300 NOTIFICATION_HOSTNAME=notification:3191 DASHBOARD_HOSTNAME=dashboard:3000 DASHBOARD_API_HOSTNAME=dashboard-api:3002 WORKFLOW_HOSTNAME=workflow:3099 LINK_SHORTENER_HOSTNAME=link-shortener:3521 ALERT_HOSTNAME=alert:3088 PROBE_API_HOSTNAME=probe-api:3400 TEST_SERVER_HOSTNAME=test-server:3800 DATA_INGESTOR_HOSTNAME=data-ingestor:3200 ACCOUNTS_HOSTNAME=accounts:3003 HOME_HOSTNAME=home:1444 WORKER_HOSTNAME=worker:3452 API_DOCS_HOSTNAME=api-reference:1445 # Routes. Usually does not need to change. REALTIME_ROUTE=/realtime API_DOCS_ROUTE=/reference NOTIFICATION_ROUTE=/notification DASHBOARD_ROUTE=/dashboard DASHBOARD_API_ROUTE=/api WORKFLOW_ROUTE=/workflow LINK_SHORTENER_ROUTE=/l ALERT_ROUTE=/alert TEST_SERVER_API_ROUTE=/test-server PROBE_API_ROUTE=/probe-api DATA_INGESTOR_ROUTE=/data-ingestor ACCOUNTS_ROUTE=/accounts HOME_ROUTE= HELMCHARTS_ROUTE=/charts API_REFERENCE_ROUTE=/reference IDENTITY_ROUTE=/identity FILE_ROUTE=/file STATUS_PAGE_ROUTE=/status-page #Ports. Usually they don't need to change. DASHBOARD_API_PORT=3002 API_DOCS_PORT=1445 WORKFLOW_PORT=3099 LINK_SHORTENER_PORT=3521 ALERT_PORT=3088 PROBE_API_PORT=3400 PROBE_PORT=3500 TEST_SERVER_PORT=3800 FILE_PORT=3125 HOME_PORT=1444 IDENTITY_PORT=3087 NOTIFICATION_PORT=3191 REALTIME_PORT=3300 WORKERS_PORT=3452 ACCOUNTS_PORT=3003 STATUS_PAGE_PORT=3105 DASHBOARD_PORT=3009 # Internal SMTP Server - Haraka USE_INTERNAL_SMTP=false # If USE_INTERNAL_SMTP is true then you need to fill these values. INTERNAL_SMTP_DKIM_PRIVATE_KEY_AS_BASE64= INTERNAL_SMTP_DKIM_PUBLIC_KEY_AS_BASE64= INTERNAL_SMTP_EMAIL=test@yourcompany.com INTERNAL_SMTP_SENDING_DOMAIN=yourcompany.com # Safely ignore these. INTERNAL_SMTP_USERNAME=oneuptime INTERNAL_SMTP_PORT=2525 INTERNAL_SMTP_FROM_NAME=OneUptime INTERNAL_SMTP_IS_SECURE=false INTERNAL_SMTP_HOST=haraka INTERNAL_SMTP_DKIM_SELECTOR=oneuptime # Licensing Database AIRTABLE_API_KEY= AIRTABLE_BASE_ID= # Plans # This is in the format of PlanName,PlanIdFromBillingProvider,MonthlySubscriptionPlanAmountInUSD,YearlySubscriptionPlanAmountInUSD,Order,TrialPeriodInDays # Enterprise plan will have -1 which means custom pricing. 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 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} DATABASE_RESTORE_DIRECTORY=/Backups DATABASE_RESTORE_HOST=localhost DATABASE_RESTORE_PORT=5400 DATABASE_RESTORE_NAME=oneuptimedb DATABASE_RESTORE_USERNAME=postgres DATABASE_RESTORE_PASSWORD=${DATABASE_PASSWORD} DATABASE_RESTORE_FILENAME=db-31.backup ANALYTICS_KEY= ANALYTICS_HOST= DATABASE_MIGRATIONS_HOST=localhost DATABASE_MIGRATIONS_PORT=5400 # Global Probes # This is in the format of GLOBAL_PROBE_NAME=ProbeName,ProbeDescription,ProbeKey GLOBAL_PROBE_1_NAME="Probe-1" GLOBAL_PROBE_1_DESCRIPTION="Global probe to monitor oneuptime resources" GLOBAL_PROBE_1_MONITORING_WORKERS=5 GLOBAL_PROBE_1_MONITOR_FETCH_LIMIT=10 GLOBAL_PROBE_2_NAME="Probe-2" GLOBAL_PROBE_2_DESCRIPTION="Global probe to monitor oneuptime resources" GLOBAL_PROBE_2_MONITORING_WORKERS=5 GLOBAL_PROBE_2_MONITOR_FETCH_LIMIT=10 SENDGRID_API_KEY= # METERED PLANS: This is in the format of MONTHLY_PRICE_ID,YEARLY_PRICE_ID,value per unit,unitName METERED_PLAN_ACTIVE_MONITORING=priceMonthlyId,1,active-monitor,month # Twilio Settings TWILIO_ACCOUNT_SID= TWILIO_AUTH_TOKEN= TWILIO_PHONE_NUMBER= SMS_DEFAULT_COST_IN_CENTS= CALL_DEFAULT_COST_IN_CENTS_PER_MINUTE= # IS BILLING ENABLED for this installer. BILLING_ENABLED=false # Public and private key for billing provider, usually stripe. BILLING_PUBLIC_KEY= BILLING_PRIVATE_KEY= # Use this when you want to disable incident creation. DISABLE_AUTOMATIC_INCIDENT_CREATION=false