docs: reflect podman-compose on all nodes
Remove stale systemd unit and standalone podman run references. All nodes now managed exclusively via compose.
This commit is contained in:
21
CLAUDE.md
21
CLAUDE.md
@@ -25,7 +25,7 @@
|
||||
│ Host │ Code Location │ Container Mount
|
||||
├──────────┼─────────────────────────┼──────────────────────────────────────────┤
|
||||
│ odin │ /home/podman/ppf/*.py │ Mounts ppf/ directly to /app
|
||||
│ workers │ /home/podman/ppf/src/ │ Mounts ppf/src/ to /app (via systemd)
|
||||
│ workers │ /home/podman/ppf/src/ │ Mounts ppf/src/ to /app (via compose)
|
||||
└──────────┴─────────────────────────┴──────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
@@ -187,20 +187,15 @@ batch_size = clamp(fair_share, min=100, max=1000)
|
||||
- Workers shuffle their batch locally to avoid testing same proxies simultaneously
|
||||
- Claims expire after 5 minutes if not completed
|
||||
|
||||
## Worker Container
|
||||
## Container Management
|
||||
|
||||
Workers run as podman containers with `--restart=unless-stopped`:
|
||||
All nodes run via `podman-compose` with role-specific compose files:
|
||||
|
||||
```bash
|
||||
podman run -d --name ppf-worker --network=host --restart=unless-stopped \
|
||||
-e PYTHONUNBUFFERED=1 \
|
||||
-v /home/podman/ppf/src:/app:ro,Z \
|
||||
-v /home/podman/ppf/data:/app/data:Z \
|
||||
-v /home/podman/ppf/config.ini:/app/config.ini:ro,Z \
|
||||
-v /home/podman/ppf/servers.txt:/app/servers.txt:ro,Z \
|
||||
localhost/ppf-worker:latest \
|
||||
python -u ppf.py --worker --server http://10.200.1.250:8081
|
||||
```
|
||||
- **Odin**: `compose.master.yml` -> deployed as `compose.yml`
|
||||
- **Workers**: `compose.worker.yml` -> deployed as `compose.yml`
|
||||
|
||||
Containers are managed exclusively through compose. No systemd user
|
||||
services or standalone `podman run` commands.
|
||||
|
||||
## Rebuilding Images
|
||||
|
||||
|
||||
39
README.md
39
README.md
@@ -197,44 +197,23 @@ stale_count INT -- checks without new proxies
|
||||
|
||||
## Deployment
|
||||
|
||||
### Systemd Service
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=PPF Python Proxy Finder
|
||||
After=network-online.target tor.service
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=ppf
|
||||
WorkingDirectory=/opt/ppf
|
||||
# ppf.py is the main entry point (runs harvester + validator)
|
||||
ExecStart=/usr/bin/python2 ppf.py
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
### Container Deployment
|
||||
|
||||
All nodes use `podman-compose` with role-specific compose files.
|
||||
All nodes use `podman-compose` with role-specific compose files
|
||||
(rootless, as `podman` user). `--network=host` required for Tor
|
||||
access at 127.0.0.1:9050.
|
||||
|
||||
```sh
|
||||
# Build image
|
||||
podman build -t ppf:latest .
|
||||
|
||||
# Run standalone (single node)
|
||||
podman run -d --name ppf \
|
||||
--network=host \
|
||||
-v ./data:/app/data:Z \
|
||||
-v ./config.ini:/app/config.ini:ro \
|
||||
ppf:latest python ppf.py
|
||||
```
|
||||
# Start via compose
|
||||
podman-compose up -d
|
||||
|
||||
Note: `--network=host` required for Tor access at 127.0.0.1:9050.
|
||||
# View logs / stop
|
||||
podman-compose logs -f
|
||||
podman-compose down
|
||||
```
|
||||
|
||||
### Operations Toolkit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user