# ───────────────────────────────────────────────────────────── # jama — Configuration # just another messaging app # # Copy this file to .env and customize before first run. # ───────────────────────────────────────────────────────────── # Project name — used as the Docker container name. # If you run multiple jama instances on the same host, give each a unique name. PROJECT_NAME=jama # Image version to run (set by build.sh, or use 'latest') JAMA_VERSION=0.9.77 # App port — the host port Docker maps to the container PORT=3000 # Timezone — must match your host timezone # Run 'timedatectl' on Linux or 'ls /usr/share/zoneinfo' to find your value # Examples: America/Toronto, Europe/London, Asia/Tokyo TZ=UTC # ── App ─────────────────────────────────────────────────────── # App name (can also be changed in the Settings UI after first run) APP_NAME=jama # Default public group name (created on first run only) DEFCHAT_NAME=General Chat # ── Admin credentials (used on FIRST RUN only) ──────────────── ADMIN_NAME=Admin User ADMIN_EMAIL=admin@jama.local ADMIN_PASS=Admin@1234 # Default password for bulk-imported users (when no password is set in CSV) USER_PASS=user@1234 # Set to true to reset the admin password to ADMIN_PASS on every restart. # WARNING: Leave false in production — shows a warning banner on the login page when true. ADMPW_RESET=false # ── Security ────────────────────────────────────────────────── # JWT secret — change this to a long random string in production! # Generate one: openssl rand -hex 32 JWT_SECRET=changeme_super_secret_jwt_key_change_in_production # Database encryption key (SQLCipher AES-256) # Generate a strong key: openssl rand -hex 32 # Leave blank to run without encryption (not recommended for production). # # IMPORTANT — upgrading an existing unencrypted install: # 1. docker compose down # 2. Find your DB: docker volume inspect _jama_db # 3. node backend/scripts/encrypt-db.js --db /path/to/jama.db --key YOUR_KEY # 4. Add DB_KEY=YOUR_KEY here, then: ./build.sh && docker compose up -d DB_KEY=