Richard924 commited on
Commit
bb5c37a
1 Parent(s): 17dc3bc

Upload 7 files

Browse files
Files changed (7) hide show
  1. Caddyfile +22 -0
  2. Dockerfile +22 -0
  3. db_backup.sh +10 -0
  4. filebrowser.sh +3 -0
  5. supervisord.conf +36 -0
  6. teldrive.sh +9 -0
  7. webdav.sh +3 -0
Caddyfile ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :7860
2
+
3
+ log {
4
+ level ERROR
5
+ output stderr
6
+ }
7
+
8
+ redir /dav /dav/ 301
9
+
10
+ redir /browser /browser/ 301
11
+
12
+ reverse_proxy /* 127.0.0.1:8080
13
+
14
+ route /dav/* {
15
+ uri strip_prefix /dav
16
+ reverse_proxy 127.0.0.1:8000
17
+ }
18
+
19
+ route /browser/* {
20
+ uri strip_prefix /browser
21
+ reverse_proxy 127.0.0.1:9000
22
+ }
Dockerfile ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM alpine
2
+
3
+ RUN apk update && apk --no-cache add curl bash supervisor unzip
4
+
5
+ WORKDIR /app
6
+
7
+ RUN adduser -D -u 1000 user
8
+
9
+ COPY --chown=user:user . .
10
+
11
+ RUN curl -s https://i.jpillora.com/caddyserver/caddy | bash \
12
+ && curl -s https://i.jpillora.com/divyam234/teldrive | bash \
13
+ && curl -s https://i.jpillora.com/divyam234/rclone | bash \
14
+ && curl -s https://i.jpillora.com/divyam234/filebrowser | bash
15
+
16
+ RUN chown -R user:user /app
17
+
18
+ RUN chmod a+x db_backup.sh webdav.sh teldrive.sh filebrowser.sh
19
+
20
+ USER user
21
+
22
+ CMD ["supervisord", "-c", "/app/supervisord.conf"]
db_backup.sh ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ interval=7200
3
+
4
+ while true; do
5
+
6
+ sleep $interval
7
+
8
+ /app/rclone copy --config /app/rclone.conf "/app/teldrive.db" "$REMOTE:teldrive/"
9
+
10
+ done
filebrowser.sh ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ /app/filebrowser -b /browser -r /app -p 9000 --username "$DAV_USER" --password "$(/app/filebrowser hash $DAV_PASS)"
supervisord.conf ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [unix_http_server]
2
+ file=/tmp/supervisor.sock
3
+
4
+ [supervisord]
5
+ nodaemon=true
6
+ loglevel=debug
7
+
8
+ [rpcinterface:supervisor]
9
+ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
10
+
11
+ [supervisorctl]
12
+ serverurl=unix:///tmp/supervisor.sock
13
+
14
+ [program:caddy]
15
+ command=/app/caddy run --config /app/Caddyfile --adapter=caddyfile
16
+ autostart=true
17
+ autorestart=true
18
+
19
+ [program:teldrive]
20
+ command=/app/teldrive.sh
21
+ autorestart=true
22
+ stopasgroup=true
23
+ stopsignal=QUIT
24
+
25
+ [program:webdav]
26
+ command=/app/webdav.sh
27
+ stopasgroup=true
28
+ stopsignal=QUIT
29
+
30
+ [program:teldrive-backup]
31
+ command=/app/db_backup.sh
32
+ autorestart=true
33
+
34
+ [program:filebrowser]
35
+ command=/app/filebrowser.sh
36
+ autorestart=true
teldrive.sh ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ curl -s "$GIST_RCLONE" -o /app/rclone.conf
3
+ /app/rclone copy --config /app/rclone.conf "$REMOTE:teldrive/teldrive.db" "/app/"
4
+
5
+ if [ ! -f "/app/teldrive.db" ]; then
6
+ touch "/app/teldrive.db"
7
+ fi
8
+ curl -s "$GIST_TELDRIVE" -o /app/teldrive.env
9
+ /app/teldrive
webdav.sh ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ #!/bin/bash
2
+ mkdir -p /app/cache
3
+ /app/rclone serve webdav teldrive: --config /app/rclone.conf --cache-dir "/app/cache" --vfs-cache-mode full --addr :8000 --user "$DAV_USER" --pass "$DAV_PASS" --cache-db-purge --transfers=10 --multi-thread-streams=16 --vfs-cache-max-age=24h