mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
add docker file
This commit is contained in:
6
docker/Dockerfile
Normal file
6
docker/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
FROM alpine
|
||||||
|
LABEL maintainer "yourok"
|
||||||
|
RUN apk add --no-cache wget
|
||||||
|
COPY start.sh /start.sh
|
||||||
|
ENTRYPOINT /start.sh
|
||||||
|
|
||||||
86
docker/README.md
Normal file
86
docker/README.md
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
## TorrServer
|
||||||
|
|
||||||
|
After starting the container, the latest server is downloaded from GitHub.\
|
||||||
|
If you need update server to latest, repull container
|
||||||
|
|
||||||
|
Source code: https://github.com/YouROK/TorrServer
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
Author of docker file and scripts [butaford (aka Pavel)](https://github.com/butaford)
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Support platforms
|
||||||
|
* TorrServer-linux-386
|
||||||
|
* TorrServer-linux-amd64
|
||||||
|
* TorrServer-linux-arm5
|
||||||
|
* TorrServer-linux-arm64
|
||||||
|
* TorrServer-linux-arm7
|
||||||
|
|
||||||
|
--------
|
||||||
|
### Support env
|
||||||
|
TS_PORT: TS web port\
|
||||||
|
TS_PATH: config path and other\
|
||||||
|
TS_LOGPATHDIR: log path\
|
||||||
|
TS_LOGFILE: log file name\
|
||||||
|
TS_WEBLOGFILE: web log file name\
|
||||||
|
TS_RDB: read only config\
|
||||||
|
TS_HTTPAUTH: auth for server, accs.db should be in the TS_PATH\
|
||||||
|
TS_DONTKILL: don't kill server by signal\
|
||||||
|
TS_TORRENTSDIR: torrents listen directory\
|
||||||
|
TS_TORRENTADDR: torrents peer listen port\
|
||||||
|
TS_PUBIPV4: the IP addresses as our peers should see them. May differ from the local interfaces due to NAT or other network configurations\
|
||||||
|
TS_PUBIPV6: the IP addresses as our peers should see them. May differ from the local interfaces due to NAT or other network configurations\
|
||||||
|
TS_SEARCHWA: disable auth for search torrents if auth is enable
|
||||||
|
|
||||||
|
--------
|
||||||
|
### Docker run example
|
||||||
|
```
|
||||||
|
docker run -p 8090:8090 \
|
||||||
|
-e TS_PORT=8090 \
|
||||||
|
-e TS_PATH="/opt/torrserver/config" \
|
||||||
|
-e TS_LOGPATHDIR="/opt/torrserver/log/" \
|
||||||
|
-e TS_LOGFILE="ts.log" \
|
||||||
|
-e TS_WEBLOGFILE="tsweb.log" \
|
||||||
|
-e TS_RDB=true \
|
||||||
|
-e TS_HTTPAUTH=true \
|
||||||
|
-e TS_DONTKILL=true \
|
||||||
|
-e TS_TORRENTSDIR="/opt/torrserver/torrents" \
|
||||||
|
-e TS_TORRENTADDR=32000 \
|
||||||
|
-e TS_PUBIPV4=publicIP \
|
||||||
|
-e TS_PUBIPV6=publicIP \
|
||||||
|
-e TS_SEARCHWA=true \
|
||||||
|
yourok/torrserver
|
||||||
|
```
|
||||||
|
|
||||||
|
--------
|
||||||
|
### Docker compose example
|
||||||
|
```
|
||||||
|
version: '3.6'
|
||||||
|
services:
|
||||||
|
torrserver:
|
||||||
|
container_name: torrserver
|
||||||
|
image: yourok/torrserver
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TS_PORT=8090
|
||||||
|
- TS_PATH=/opt/torrserver/config
|
||||||
|
- TS_LOGPATHDIR=/opt/torrserver/log
|
||||||
|
- TS_LOGFILE=ts.log
|
||||||
|
- TS_WEBLOGFILE=tsweb.log
|
||||||
|
- TS_RDB=false
|
||||||
|
- TS_HTTPAUTH=true
|
||||||
|
- TS_DONTKILL=true
|
||||||
|
- TS_TORRENTSDIR=/opt/torrserver/torrents
|
||||||
|
- TS_TORRENTADDR=:32000
|
||||||
|
- TS_PUBIPV4=publicIP
|
||||||
|
- TS_PUBIPV6=publicIP
|
||||||
|
- TS_SEARCHWA=true
|
||||||
|
ports:
|
||||||
|
- 8090:8090
|
||||||
|
volumes:
|
||||||
|
- ./torrserver/config:/opt/torrserver/config
|
||||||
|
- ./torrserver/log:/opt/torrserver/log
|
||||||
|
- ./torrserver/torrents:/opt/torrserver/torrents
|
||||||
|
```
|
||||||
61
docker/start.sh
Executable file
61
docker/start.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case $(uname -m) in
|
||||||
|
i386) architecture="386" ;;
|
||||||
|
i686) architecture="386" ;;
|
||||||
|
x86_64) architecture="amd64" ;;
|
||||||
|
aarch64) architecture="arm64" ;;
|
||||||
|
armv7|armv7l) architecture="arm7" ;;
|
||||||
|
armv6|armv6l) architecture="arm5" ;;
|
||||||
|
# armv5|armv5l) architecture="arm5" ;;
|
||||||
|
*) echo "Unsupported Arch. Can't continue."; exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
binName="TorrServer-linux-${architecture}"
|
||||||
|
|
||||||
|
mkdir -p /opt/torrserver
|
||||||
|
cd /opt/torrserver
|
||||||
|
|
||||||
|
wget "https://github.com/YouROK/TorrServer/releases/latest/download/$binName"
|
||||||
|
chmod +x $binName
|
||||||
|
|
||||||
|
FLAGS=""
|
||||||
|
|
||||||
|
echo "TS_PORT:$TS_PORT"
|
||||||
|
echo "TS_PATH:$TS_PATH"
|
||||||
|
echo "TS_LOGPATHDIR:$TS_LOGPATHDIR"
|
||||||
|
echo "TS_LOGFILE:$TS_LOGPATHDIR/$TS_LOGFILE"
|
||||||
|
echo "TS_WEBLOGFILE:$TS_LOGPATHDIR/$TS_WEBLOGFILE"
|
||||||
|
echo "TS_RDB:$TS_RDB"
|
||||||
|
echo "TS_HTTPAUTH:$TS_HTTPAUTH"
|
||||||
|
echo "TS_DONTKILL:$TS_DONTKILL"
|
||||||
|
echo "TS_TORRENTSDIR:$TS_TORRENTSDIR"
|
||||||
|
echo "TS_TORRENTADDR:$TS_TORRENTADDR"
|
||||||
|
echo "TS_PUBIPV4:$TS_PUBIPV4"
|
||||||
|
echo "TS_PUBIPV6:$TS_PUBIPV6"
|
||||||
|
echo "TS_SEARCHWA:$TS_SEARCHWA"
|
||||||
|
|
||||||
|
#sets start flags
|
||||||
|
[ ! -z "$TS_PORT" ] && FLAGS="${FLAGS} --port ${TS_PORT}"
|
||||||
|
[ ! -z "$TS_PATH" ] && FLAGS="${FLAGS} --path ${TS_PATH}"
|
||||||
|
[ ! -z "$TS_LOGFILE" ] && FLAGS="${FLAGS} --logpath $TS_LOGPATHDIR/${TS_LOGFILE}"
|
||||||
|
[ ! -z "$TS_WEBLOGFILE" ] && FLAGS="${FLAGS} --weblogpath $TS_LOGPATHDIR/${TS_WEBLOGFILE}"
|
||||||
|
[ ! -z "$TS_RDB" ] && FLAGS="${FLAGS} --rdb"
|
||||||
|
[ ! -z "$TS_HTTPAUTH" ] && FLAGS="${FLAGS} --httpauth"
|
||||||
|
[ ! -z "$TS_DONTKILL" ] && FLAGS="${FLAGS} --dontkill"
|
||||||
|
[ ! -z "$TS_TORRENTSDIR" ] && FLAGS="${FLAGS} --torrentsdir ${TS_TORRENTSDIR}"
|
||||||
|
[ ! -z "$TS_TORRENTADDR" ] && FLAGS="${FLAGS} --torrentaddr ${TS_TORRENTADDR}"
|
||||||
|
[ ! -z "$TS_PUBIPV4" ] && FLAGS="${FLAGS} --pubipv4 ${TS_PUBIPV4}"
|
||||||
|
[ ! -z "$TS_PUBIPV6" ] && FLAGS="${FLAGS} --pubipv6 ${TS_PUBIPV6}"
|
||||||
|
[ ! -z "$TS_SEARCHWA" ] && FLAGS="${FLAGS} --searchwa"
|
||||||
|
|
||||||
|
#make directories
|
||||||
|
[ ! -z "$TS_PATH" ] && [ ! -d "$TS_PATH" ] && mkdir -p $TS_PATH
|
||||||
|
[ ! -z "$TS_LOGPATHDIR" ] && [ ! -d "$TS_LOGPATHDIR" ] && mkdir -p $TS_LOGPATHDIR
|
||||||
|
[ ! -z "$TS_TORRENTSDIR" ] && [ ! -d "$TS_TORRENTSDIR" ] && mkdir $TS_TORRENTSDIR
|
||||||
|
|
||||||
|
echo "Running with: ${FLAGS}"
|
||||||
|
export GODEBUG=madvdontneed=1
|
||||||
|
|
||||||
|
/opt/torrserver/${binName} ${FLAGS}
|
||||||
|
|
||||||
Reference in New Issue
Block a user