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

91 lines
1.5 KiB
Markdown

# Installation
## Prerequisites
- Python 3.11+
- git
For container deployment:
- podman
- podman-compose
## Bare Metal
```bash
cd ~/git/derp
make install
```
This creates a `.venv`, installs derp in editable mode, and adds dev tools.
### Symlink
```bash
make link
```
Installs `derp` to `~/.local/bin/`. Verify:
```bash
which derp
derp --version
```
### Manual Install
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
## Container (Podman)
### With podman-compose
```bash
cp config/derp.toml.example config/derp.toml
# Edit config/derp.toml
make up
```
### Manual
```bash
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:
```bash
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
```bash
derp --version # Check install
make test # Run test suite
make lint # Lint check
```