Project

  • project name: observer
  • package name: github.com/lbrty/observer
  • go version: 1.25.*
  • default UI language: Kyrgyz Latin (ky)

Backend environment variables

Server

VariableDefaultDescription
SERVER_HOSTlocalhostBind address
SERVER_PORT9000Listen port
SERVER_READ_TIMEOUT30sHTTP read timeout
SERVER_WRITE_TIMEOUT30sHTTP write timeout

Database

VariableDefaultDescription
DATABASE_DSN""PostgreSQL connection string

JWT

VariableDefaultDescription
JWT_PRIVATE_KEY_PATHkeys/jwt_rsaRSA private key path
JWT_PUBLIC_KEY_PATHkeys/jwt_rsa.pubRSA public key path
JWT_ACCESS_TTL15mAccess token lifetime
JWT_REFRESH_TTL168hRefresh token lifetime (7 days)
JWT_MFA_TEMP_TTL5mMFA pending token lifetime
JWT_ISSUERobserverToken issuer claim
VariableDefaultDescription
COOKIE_DOMAIN"" (current host)Cookie domain
COOKIE_SECUREfalseSet true in production (HTTPS)
COOKIE_SAME_SITElaxlax, strict, or none
COOKIE_MAX_AGE2hCookie lifetime

CORS

VariableDefaultDescription
CORS_ORIGINShttp://localhost:5173Comma-separated allowed origins

Storage

VariableDefaultDescription
STORAGE_PATHdata/uploadsLocal filesystem root (used when STORAGE_BACKEND=local)
STORAGE_BACKENDlocalStorage backend: local or s3
S3_ENDPOINT""S3 endpoint URL (empty = AWS default)
S3_BUCKET""S3 bucket name (required when backend is s3)
S3_REGIONus-east-1S3 region
S3_ACCESS_KEY""AWS access key (optional — falls back to SDK chain)
S3_SECRET_KEY""AWS secret key (optional — falls back to SDK chain)

Other

VariableDefaultDescription
DEV_MODEfalseEnable development mode
LOG_LEVELinfoLog level
REDIS_URLredis://localhost:6379/0Redis connection URL
SWAGGER_ENABLEDfalseEnable Swagger UI at /swagger/
RATE_LIMIT_LOGIN10Max login attempts per minute
RATE_LIMIT_REGISTER5Max registration attempts per minute
SENTRY_DSN""Sentry DSN (empty disables Sentry)
SENTRY_TRACES_SAMPLE_RATE0.1Sentry performance traces sample rate

Frontend environment variables

VariableDefaultDescription
VITE_API_URLhttp://localhost:9000Backend API base URL