Bake source into the image (COPY src/) so production containers run without volume mounts. CI pipeline runs ruff + pytest then builds and pushes harbor.mymx.me/s5p/s5p:latest on push to main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
963 B
963 B
s5p -- Installation
Prerequisites
- Python >= 3.11
- pip
- Tor (optional, for Tor-based chains)
- podman + podman-compose (optional, for container deployment)
Local Install
cd ~/git/s5p
python -m venv .venv
source .venv/bin/activate
pip install -e .
Verify
s5p --version
which s5p
Symlink (alternative)
ln -sf ~/git/s5p/.venv/bin/s5p ~/.local/bin/s5p
Container Install
cd ~/git/s5p
cp config/example.yaml config/s5p.yaml # edit with your proxies
make build # podman-compose build
make up # podman-compose up -d
The Alpine-based image (~59MB) contains Python, PyYAML, and baked-in source. Config is mounted at runtime. The compose.yaml volume mount overrides source for local dev.
Install Tor (optional)
sudo apt install tor
sudo systemctl enable --now tor
# Verify Tor SOCKS5 port
ss -tlnp | grep 9050