Files
derp/docs/INSTALL.md
user 7520bba192 fix: mount src and data volumes in container targets
Bind-mount src/ and data/ alongside plugins/ and config so the
container picks up code changes without rebuilding. Update Makefile
targets, compose file, and INSTALL.md to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:11:59 +01:00

1.5 KiB

Installation

Prerequisites

  • Python 3.11+
  • git

For container deployment:

  • podman
  • podman-compose

Bare Metal

cd ~/git/derp
make install

This creates a .venv, installs derp in editable mode, and adds dev tools.

make link

Installs derp to ~/.local/bin/. Verify:

which derp
derp --version

Manual Install

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Container (Podman)

With podman-compose

cp config/derp.toml.example config/derp.toml
# Edit config/derp.toml
make up

Manual

podman build -t derp .
podman run -d --name derp \
    -v ./src:/app/src:ro,Z \
    -v ./plugins:/app/plugins:ro,Z \
    -v ./config/derp.toml:/app/config/derp.toml:ro,Z \
    -v ./data:/app/data:Z \
    derp --verbose

The image contains only the Python runtime and compiled dependencies. Source code, plugins, config, and data are bind-mounted at runtime. Code and plugin edits on the host take effect on restart (or via !reload for plugins). Only rebuild the image when adding or updating pip dependencies.

Configuration

Copy and edit the example config:

cp config/derp.toml.example config/derp.toml

Config search order:

  1. Path given via --config
  2. ./config/derp.toml
  3. ~/.config/derp/derp.toml
  4. Built-in defaults

Verification

derp --version          # Check install
make test               # Run test suite
make lint               # Lint check