Skip to content

Configuration

Coffer is configured through environment variables in the .env file within the coffer-deploy directory.

VariableDefaultDescription
DB_NAMEcofferPostgreSQL database name
DB_USERcofferPostgreSQL username
DB_PASSWORD(required)PostgreSQL password — no default for security
VariableDefaultDescription
NUMISTA_API_KEY(empty)Numista API key for catalog lookups. Optional but recommended. See Numista integration.
VariableDefaultDescription
FRONTEND_PORT80Port to expose the frontend on the host
JAVA_OPTS-Xmx512mJVM options for the backend. Increase memory for larger collections.

These control the background jobs that fetch live data. The defaults work well for most users.

VariableDefaultDescription
METAL_QUOTES_CRON0 */5 * * * 1-5Metal price update frequency (every 5 min, weekdays)
ISSUE_PRICES_CRON0 0 2 * * *Numista collector price refresh (daily at 2 AM)
PORTFOLIO_SNAPSHOT_CRON0 0 9,15,22 * * *Portfolio value snapshots (3x daily)
Terminal window
# Database
DB_NAME=coffer
DB_USER=coffer
DB_PASSWORD=changeme_use_a_strong_password
# Numista API key (optional, enables catalog features)
NUMISTA_API_KEY=your_numista_api_key_here
# Frontend port
FRONTEND_PORT=80
# JVM memory (increase for large collections)
JAVA_OPTS=-Xmx512m

Coin images are stored in the coffer-images Docker volume, mounted at /app/data/images inside the backend container. The default limits are:

  • Max file size: 10 MB
  • Allowed types: JPEG, PNG, WebP

These are configured in the backend’s application.yml and don’t typically need to be changed.