New docs/DEPLOY.md covering container image, compose config, volume mounts, host networking, operations, and troubleshooting. Updated README, INSTALL, CHEATSHEET, and DEBUG to reference it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
83 lines
1.7 KiB
Markdown
83 lines
1.7 KiB
Markdown
# Installation
|
|
|
|
## Prerequisites
|
|
|
|
- Python 3.10+
|
|
- SOCKS5 proxy running on `127.0.0.1:1080`
|
|
|
|
## Container Deployment (Recommended)
|
|
|
|
See [DEPLOY.md](DEPLOY.md) for full podman/container instructions.
|
|
|
|
```bash
|
|
cp config/bouncer.example.toml config/bouncer.toml
|
|
$EDITOR config/bouncer.toml
|
|
make build && make up
|
|
```
|
|
|
|
## Local Setup
|
|
|
|
```bash
|
|
cd ~/git/bouncer
|
|
make dev
|
|
```
|
|
|
|
This creates `.venv/`, installs all dependencies, and registers the `bouncer`
|
|
command via editable install.
|
|
|
|
## Verify
|
|
|
|
```bash
|
|
bouncer --version
|
|
```
|
|
|
|
## Configuration
|
|
|
|
```bash
|
|
cp config/bouncer.example.toml config/bouncer.toml
|
|
```
|
|
|
|
Edit `config/bouncer.toml`. Required settings:
|
|
|
|
| Key | Description |
|
|
|-----|-------------|
|
|
| `bouncer.password` | Password for client authentication |
|
|
| `networks.<name>.host` | IRC server hostname |
|
|
| `networks.<name>.nick` | Your desired IRC nick |
|
|
|
|
Optional but recommended:
|
|
|
|
| Key | Default | Description |
|
|
|-----|---------|-------------|
|
|
| `networks.<name>.tls` | `false` | Enable TLS to IRC server |
|
|
| `networks.<name>.port` | `6667`/`6697` | Server port (auto-set by tls) |
|
|
| `networks.<name>.channels` | `[]` | Channels to auto-join |
|
|
| `networks.<name>.autojoin` | `true` | Join channels after probation |
|
|
|
|
## Symlink
|
|
|
|
To make `bouncer` available system-wide:
|
|
|
|
```bash
|
|
ln -sf ~/git/bouncer/.venv/bin/bouncer ~/.local/bin/bouncer
|
|
```
|
|
|
|
Verify:
|
|
|
|
```bash
|
|
which bouncer
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
Installed automatically by `make dev`:
|
|
|
|
| Package | Purpose |
|
|
|---------|---------|
|
|
| `python-socks[asyncio]` | Async SOCKS5 proxy support |
|
|
| `aiosqlite` | Async SQLite for backlog |
|
|
| `ruff` | Linter (dev) |
|
|
| `black` | Formatter (dev) |
|
|
| `pytest` | Tests (dev) |
|
|
| `pytest-asyncio` | Async test support (dev) |
|