zydou commited on
Commit
19931dd
·
unverified ·
0 Parent(s):

feat: init

Browse files
Files changed (6) hide show
  1. .gitattributes +35 -0
  2. Dockerfile +19 -0
  3. README.md +10 -0
  4. docker/init.sh +17 -0
  5. docker/root.sh +39 -0
  6. docker/sync.sh +10 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim-bookworm
2
+ COPY --from=rclone/rclone:latest /usr/local/bin/rclone /usr/bin/rclone
3
+ COPY docker/root.sh /docker/root.sh
4
+ RUN bash /docker/root.sh
5
+
6
+ RUN groupadd --gid 1000 user && \
7
+ useradd --gid 1000 --uid 1000 --shell /bin/bash --create-home --home-dir /home/user user && \
8
+ chown -R user:user /home/user
9
+ USER user
10
+ ENV HOME=/home/user \
11
+ PATH=/home/user/.local/bin:$PATH \
12
+ HUGGINGFACE_RUNNER=true \
13
+ HUGGINGFACE_SPACENAME=Books \
14
+ CALIBRE_PORT=8083
15
+ WORKDIR $HOME
16
+
17
+ COPY docker/init.sh /docker/init.sh
18
+ COPY docker/sync.sh /docker/sync.sh
19
+ CMD ["/docker/init.sh"]
README.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Books
3
+ emoji: 📚
4
+ sdk: docker
5
+ colorFrom: blue
6
+ colorTo: blue
7
+ pinned: false
8
+ license: mit
9
+ app_port: 8083
10
+ ---
docker/init.sh ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+
4
+ mkdir -p /home/user/.config/rclone
5
+ cat << EOF > /home/user/.config/rclone/rclone.conf
6
+ [gdrive]
7
+ type = drive
8
+ scope = drive
9
+ team_drive =
10
+ token = $GDRIVE_TOKEN
11
+ EOF
12
+
13
+
14
+ mkdir -p /home/user/docker
15
+ rclone sync gdrive:/rclone/calibre-web /home/user/docker --transfers 32 --verbose --create-empty-src-dirs || true
16
+ nohup bash /home/user/docker/sync.sh &
17
+ python3 /home/user/calibre-web/cps.py -i 0.0.0.0 -p /home/user/docker/database/app.db -g /home/user/docker/database/gdrive.db
docker/root.sh ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # https://github.com/linuxserver/docker-calibre-web/blob/e6fef2ab20ae52cbda57e7bed41c8fc7e4b57ad0/Dockerfile
4
+
5
+ export DEBIAN_FRONTEND=noninteractive
6
+
7
+ echo "**** install build packages ****"
8
+ apt-get update -y
9
+ apt-get install -y --no-install-recommends build-essential libldap2-dev libsasl2-dev
10
+
11
+
12
+ echo "**** install runtime packages ****"
13
+ apt-get install -y --no-install-recommends imagemagick ghostscript libldap-2.5-0 libsasl2-2 libxi6 libxslt1.1 curl
14
+
15
+
16
+ echo "**** install calibre-web ****"
17
+ if [ -z ${CALIBREWEB_RELEASE+x} ]; then
18
+ CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
19
+ fi
20
+
21
+ curl -o /tmp/calibre-web.tar.gz -L "https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz"
22
+ mkdir -p /home/user/calibre-web
23
+ tar xf /tmp/calibre-web.tar.gz -C /home/user/calibre-web --strip-components=1
24
+ cd /home/user/calibre-web || exit
25
+ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ -r requirements.txt -r optional-requirements.txt
26
+
27
+
28
+ echo "***install kepubify"
29
+ if [ -z ${KEPUBIFY_RELEASE+x} ]; then
30
+ KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
31
+ fi
32
+
33
+ curl -o /usr/bin/kepubify -L "https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-64bit"
34
+ chmod +x /usr/bin/kepubify
35
+
36
+ echo "**** cleanup ****"
37
+ apt-get -y purge build-essential libldap2-dev libsasl2-dev
38
+ apt-get -y autoremove
39
+ rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* /root/.cache
docker/sync.sh ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ cd /home/user || exit 1
4
+
5
+
6
+ while true;
7
+ do
8
+ sleep 86400;
9
+ rclone copy /home/user/docker gdrive:/rclone/calibre-web --verbose --create-empty-src-dirs || true ;
10
+ done