exatorrent
can be run inside Docker Container
Docker Images of exatorrent
are officially available for amd64
,arm64
and arm32
architectures. They are built on release of new version by Github Actions and are Hosted and available at Github Container Registry. Alpine is used as Base Image of exatorrent
image. Docker images of exatorrent
can be pulled by
docker pull ghcr.io/varbhat/exatorrent:latest
This pulls latest version of exatorrent
Docker Image. You can use diun to keep exatorrent updated to latest release as when it rolls out.
Docker Image of exatorrent
can also be built in your machine if you intend to build. Following commands will build exatorrent
Docker Image.
git clone https://github.com/varbhat/exatorrent
cd exatorrent
docker build -t "exatorrent".
Docker Image of exatorrent
can be run by following command
docker run -p 5000:5000 -p 42069:42069 -v /path/to/directory:/exa/exadir ghcr.io/varbhat/exatorrent:latest
# docker run -p 5000:5000 -p 42069:42069 -v /path/to/directory:/exa/exadir exatorrent
5000 port is default port where Web Client and API are served. 42069
is default port for Torrent Client where Torrent Transfers occur. So, they need to be exposed. Also Refer Usage.
You can use --user
flag of docker to run exatorrent
as other user.
We recommend running exatorrent
behind reverse proxy . Below are example configurations of Nginx , Haproxy and Caddy made to reverse proxy exatorrent
. Please don't put Basic Auth or any kind of custom auth / request modification system as Authentication is handled by exatorrent
itself . /api/socket
is WebSocket endpoint and Reverse Proxying server must not hinder it .
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /path/to/tls/tls.crt;
ssl_certificate_key /path/to/tls/tls.key;
server_name the.domain.tld;
location / {
proxy_pass http://localhost:5000;
# proxy_pass http://unix:/path/to/exatorrent/unixsocket;
}
location /api/socket {
proxy_pass http://localhost:5000/api/socket;
# proxy_pass http://unix:/path/to/exatorrent/unixsocket:/api/socket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}
frontend proxy
#bind *:80
bind *:443 ssl crt /path/to/tls/cert.pem
default_backend exatorrent
backend exatorrent
server exatorrent localhost:5000
https://the.domain.tld {
reverse_proxy * localhost:5000
}