ArGJolan / transmi

A web interface to manage torrents. Uses Transmission

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Transmi (torrent web interface)

A web interface to manage torrents. Can be used by multiple users. To each user his account, files and folder on the machine.

Uses node-transmission and svelte.

Requirements/installation

  • Docker
  • nginx
  • certbot

Docker setup

# Build transmission
cd transmission
docker build -t transmission .

# Build transmi
cd ..
docker build -t transmi .

# A network to rule them all
docker network create transmi

# Transmission
docker volume create transmission-downloads
docker run -d \
  --name transmi-transmission \
  --network transmi \
  -v transmission-downloads:/transmission/downloads \
  transmission

# Nginx
docker run -d \
  --name transmi-nginx \
  -v transmission-downloads:/usr/share/nginx/html/download:ro \
  -p 7898:80 \
  nginx

# Transmi
docker volume create transmi-database
docker run -d \
  --name transmi-web \
  --network transmi \
  -v transmi-database:/opt/app/src/db \
  -p 7897:7897 \
  transmi

# Add a new user
docker run -it \
  --rm \
  --network transmi \
  -v transmi-database:/opt/app/src/db \
  transmi \
  npm run add-user

nginx setup

Create a transmi.conf file in /etc/nginx/sites-available with this content :

server {
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name transmi.your-domain.ltd;

  location / {
    proxy_pass http://localhost:7897;
  }

  location /download {
    proxy_pass http://localhost:7898;
  }
}

Run certbot and select your transmi host

certbot --nginx

Authors

Contributors

About

A web interface to manage torrents. Uses Transmission

License:GNU General Public License v3.0


Languages

Language:HTML 44.9%Language:JavaScript 44.1%Language:CSS 9.5%Language:Dockerfile 0.9%Language:Shell 0.7%