Skip to main content

Configuration

The DEJA Server stores all of its configuration in the ~/.deja/ directory inside your home folder. The installer sets this up automatically — you generally won't need to edit these files by hand unless you're troubleshooting or changing advanced settings.

Directory Structure

~/.deja/
├── bin/
│   └── deja              # The deja CLI command
├── server/               # Server runtime files
│   ├── index.js          # Server entry point
│   └── version.txt       # Installed version
├── config.json           # Account and layout configuration
├── .env                  # Environment variables
├── server.pid            # Process ID of running server
├── logs/
│   ├── server.log        # Current server log
│   └── server.log.1      # Previous log (rotated at 10 MB)
└── tunnel.pid            # Process ID of running tunnel (if active)

config.json

Your account and layout information, created during installation.

{
  "uid": "your-user-id",
  "layoutId": "your-layout-id"
}
FieldDescription
uidYour DEJA Cloud user ID
layoutIdThe layout this server is connected to

The server also caches your subscription status here after each check. You don't need to edit this — it's managed automatically.

Environment Variables (.env)

The ~/.deja/.env file controls which features are enabled and how the server connects to external services. The installer creates this file with sensible defaults.

Core Settings

VariableDefaultDescription
LAYOUT_ID(from install)Your layout identifier — matches config.json
ENABLE_DEJACLOUDtrueConnect to Firebase for real-time cloud sync
ENABLE_WStrueStart the WebSocket server for browser communication
ENABLE_MQTTfalseConnect to an MQTT broker for IoT devices
ENABLE_SOUNDfalseEnable sound effect playback on the server
VITE_WS_PORT8082Port for the WebSocket server
VITE_WS_IDDEJA.jsServer identifier string

Firebase Credentials

These are set automatically during installation. They connect the server to your DEJA Cloud account.

VariableDescription
VITE_FIREBASE_API_KEYFirebase API key (public)
VITE_FIREBASE_AUTH_DOMAINFirebase auth domain
VITE_FIREBASE_PROJECT_IDFirebase project ID
VITE_FIREBASE_DATABASE_URLFirebase Realtime Database URL
VITE_FIREBASE_STORAGE_BUCKETFirebase storage bucket
VITE_FIREBASE_MESSAGING_SENDER_IDFirebase messaging sender ID
VITE_FIREBASE_APP_IDFirebase app ID
FIREBASE_CLIENT_EMAILService account email (private)
FIREBASE_PRIVATE_KEYService account private key (private)

Optional Settings

VariableDescription
CLOUDFLARE_TUNNEL_TOKENToken for a named Cloudflare tunnel (see Remote Access)
VITE_MQTT_BROKERMQTT broker URL (default: mqtt://localhost)
VITE_MQTT_PORTMQTT broker port (default: 1883)

Editing Configuration

If you need to change a setting, open the .env file in any text editor:

nano ~/.deja/.env

After making changes, restart the server for them to take effect:

deja restart

Log Rotation

Server logs are stored at ~/.deja/logs/server.log. When the log file reaches 10 MB, it's automatically rotated — the current log is saved as server.log.1 and a new log file is started.