Deployment - MunifTanjim/stremthru GitHub Wiki
docker-compose
Create directories for volume mounts
mkdir -p ./docker/.volumes/traefik/letsencrypt
mkdir -p ./docker/.volumes/warp
mkdir -p ./docker/.volumes/stremthru
Clone StremThru Repository
git clone https://github.com/MunifTanjim/stremthru.git
cd stremthru
cp .env.example .env.prod
Config: stremthru/.env.prod
STREMTHRU_HTTP_PROXY=http://warp:1080
STREMTHRU_PROXY_AUTH=YOUR_USERNAME:YOUR_PASSWORD
STREMTHRU_STORE_AUTH=YOUR_USERNAME:STORE_NAME:STORE_TOKEN
# STREMTHRU_REDIS_URI=
# STREMTHRU_DATABASE_URI=sqlite://./data/stremthru.db
Compose file: compose.yaml
services:
traefik:
image: traefik:v3.2
container_name: traefik
command:
- '--api.insecure=true'
- '--providers.docker=true'
- '--providers.docker.exposedbydefault=false'
- '--entryPoints.web.address=:80'
- '--entryPoints.websecure.address=:443'
- '--certificatesresolvers.letsencrypt.acme.httpchallenge=true'
- '--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web'
- '--certificatesresolvers.letsencrypt.acme.email=<YOUR_EMAIL_ADDRESS_HERE>'
- '--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json'
ports:
- 80:80
- 443:443
- 8080:8080
volumes:
- ./docker/.volumes/traefik/letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
warp:
image: caomingjun/warp
ports:
- 127.0.0.1:1080:1080
environment:
- WARP_SLEEP=2
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv4.conf.all.src_valid_mark=1
volumes:
- ./docker/.volumes/warp:/var/lib/cloudflare-warp
restart: always
stremthru:
image: muniftanjim/stremthru:latest
build:
context: ./stremthru
dockerfile: ./Dockerfile
labels:
- traefik.enable=true
- traefik.http.routers.stremthru.rule=Host(`stremthru.<YOUR_DOMAIN_HERE>`)
- traefik.http.routers.stremthru.entrypoints=websecure
- traefik.http.routers.stremthru.tls.certresolver=letsencrypt
ports:
- 127.0.0.1:6002:8080
env_file:
- ./stremthru/.env.prod
volumes:
- ./docker/.volumes/stremthru:/app/data
restart: unless-stopped
Run
# build
docker compose build stremthru
# or pull
docker compose pull stremthru
# start
docker compose up -d traefik warp stremthru