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:
      - BaseURL=https://dnote.example.com
      - PORT=3001
      - DisableRegistration=false

See configuration docs for all options.

Updating #

Pull the latest image and restart the container:

docker compose pull
docker compose up -d

Docker run #

If you prefer to use docker run instead of Docker Compose:

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

Supported Platforms #

The Docker images support the following platforms and architectures:

  • linux/amd64 (x86_64)
  • linux/arm64 (ARM 64-bit)
  • linux/arm/v7 (ARM 32-bit)
  • linux/386 (x86 32-bit)

Docker automatically selects the correct image for your platform.

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.