zydou
commited on
Commit
·
19931dd
unverified
·
0
Parent(s):
feat: init
Browse files- .gitattributes +35 -0
- Dockerfile +19 -0
- README.md +10 -0
- docker/init.sh +17 -0
- docker/root.sh +39 -0
- 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
|