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