Init
This commit is contained in:
commit
917060c091
25
.drone.yml
Normal file
25
.drone.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
kind: pipeline
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: deluge
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
registry: r.sbruder.de
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: r.sbruder.de/deluge
|
||||||
|
|
||||||
|
- name: http-socket
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
registry: r.sbruder.de
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
context: http-socket
|
||||||
|
dockerfile: http-socket/Dockerfile
|
||||||
|
repo: r.sbruder.de/http-socket
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
FROM debian:testing-slim
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install --no-install-recommends runit \
|
||||||
|
&& apt-get -y install \
|
||||||
|
deluge-console \
|
||||||
|
deluge-web \
|
||||||
|
deluged \
|
||||||
|
git \
|
||||||
|
gosu \
|
||||||
|
nginx-light \
|
||||||
|
python3-pip \
|
||||||
|
tini
|
||||||
|
|
||||||
|
RUN git clone --depth=1 https://github.com/tobbez/deluge_exporter /opt/deluge_exporter \
|
||||||
|
&& cd /opt/deluge_exporter \
|
||||||
|
&& pip3 install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
COPY services /etc/service
|
||||||
|
COPY nginx.conf /etc/nginx/
|
||||||
|
COPY entrypoint.sh /usr/local/bin/
|
||||||
|
|
||||||
|
ENV PER_TORRENT_METRICS 1
|
||||||
|
ENV PUID 1000
|
||||||
|
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
5
entrypoint.sh
Executable file
5
entrypoint.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -u
|
||||||
|
adduser -q --gecos '' --disabled-password --uid $PUID deluge
|
||||||
|
chown deluge:deluge /download/ /config/
|
||||||
|
exec tini -- runsvdir /etc/service/
|
9
http-socket/Dockerfile
Normal file
9
http-socket/Dockerfile
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
FROM alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
socat \
|
||||||
|
tini
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
ENTRYPOINT ["tini", "--", "socat", "TCP-LISTEN:80,reuseaddr,fork,su=nobody", "UNIX-CLIENT:/var/run/nginx.sock"]
|
52
nginx.conf
Normal file
52
nginx.conf
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# vim: set et sts=4 sw=4 ts=4:
|
||||||
|
user www-data;
|
||||||
|
worker_processes auto;
|
||||||
|
pid /run/nginx.pid;
|
||||||
|
|
||||||
|
error_log /dev/stderr warn;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 768;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
keepalive_timeout 65;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
server_tokens off;
|
||||||
|
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
client_max_body_size 32M;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen unix:/var/run/nginx.sock;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8112/;
|
||||||
|
add_header X-Frame-Options SAMEORIGIN;
|
||||||
|
|
||||||
|
# this is NOT authentication (it is in a public git repository
|
||||||
|
# after all), it is only meant to avoid automatic scans
|
||||||
|
if ($cookie_preauth != "correct horse battery staple") {
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location /download/ {
|
||||||
|
alias /download/;
|
||||||
|
autoindex on;
|
||||||
|
auth_basic "go away";
|
||||||
|
auth_basic_user_file /config/htpasswd;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /metrics {
|
||||||
|
proxy_pass http://localhost:9354/metrics;
|
||||||
|
auth_basic "go away";
|
||||||
|
auth_basic_user_file /config/htpasswd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
2
services/deluge-web/run
Executable file
2
services/deluge-web/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
gosu deluge deluge-web -d -c /config
|
2
services/deluge_exporter/run
Executable file
2
services/deluge_exporter/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
DELUGE_CONFIG_DIR=/config/ gosu deluge /opt/deluge_exporter/deluge_exporter.py
|
2
services/deluged/run
Executable file
2
services/deluged/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
gosu deluge deluged -d -c /config
|
3
services/nginx/run
Executable file
3
services/nginx/run
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
rm -f /var/run/nginx.sock
|
||||||
|
nginx -g 'daemon off;'
|
Reference in a new issue