Docker Installation

Docker compose

Create compose.yaml:

services:
  dnote:
    image: dnote/dnote:latest
    container_name: dnote
    ports:
      - 3001:3001
    volumes:
      - ./dnote_data:/data
    restart: unless-stopped

Start the server:

docker compose up -d

Access at http://localhost:3001.

Configuration

Add environment variables to customize the server:

services:
  dnote:
    ...
    environment:
      - WebURL=https://dnote.example.com
      - PORT=3001
      - DisableRegistration=false

See configuration docs for all options.

Updating

docker compose pull
docker compose up -d

Docker run

docker run -d \
  --name dnote \
  -p 3001:3001 \
  -v ./dnote_data:/data \
  dnote/dnote:latest

Data & Backups

All data is stored in a single SQLite file. No separate database server required. The ./dnote_data:/data volume mount persists data on your host at ./dnote_data/dnote.db, so your notes survive container restarts and upgrades.

Backup:

cp ./dnote_data/dnote.db ./backup-$(date +%Y%m%d).db

Connecting CLI to Server

Edit your Dnote CLI config at $XDG_CONFIG_HOME/dnote/dnoterc (typically ~/.config/dnote/dnoterc):

apiEndpoint: https://dnote.example.com/api

Then log in:

dnote login

See CLI configuration for more details.