Zmeel stores all configuration in ~/.zmeel/instances/default/config.json. Use the interactive zmeel configure command to update any section — you rarely need to edit the file by hand.
zmeel configure --section <section>
Available sections:
| Section | What it controls |
|---|
llm | LLM provider and API keys |
database | Database connection |
logging | Log level and output |
server | Deployment mode, port, public URL |
storage | Storage provider (local disk or S3) |
secrets | Secrets encryption settings |
Local storage layout
All instance state is stored under ~/.zmeel/instances/default/ by default:
| Path | Contents |
|---|
config.json | Instance configuration |
db/ | Embedded PostgreSQL data |
logs/ | Server logs |
data/storage/ | File attachments and artifacts |
secrets/master.key | Secrets encryption key |
Multiple instances
Use --data-dir on any command to isolate state to a custom directory:
zmeel run --data-dir ./my-instance
zmeel issue list --data-dir ./my-instance
This keeps the instance completely separate from ~/.zmeel.
Use --data-dir to run multiple independent Zmeel instances on the same machine — for example, one per client or environment.
Environment variable overrides
You can override the home directory and instance ID with environment variables:
ZMEEL_HOME=/custom/home ZMEEL_INSTANCE_ID=dev zmeel run
| Variable | Default | Description |
|---|
ZMEEL_HOME | ~/.zmeel | Base directory for all Zmeel state |
ZMEEL_INSTANCE_ID | default | Instance identifier |