This commit is contained in:
Adrian Amaglio 2023-05-10 12:38:53 +02:00
commit 77640cb234
4 changed files with 42 additions and 0 deletions

11
Dockerfile Normal file
View File

@ -0,0 +1,11 @@
from docker.io/library/python:3.11-alpine
RUN mkdir /usr/local/app
WORKDIR /usr/local/app
COPY entrypoint.sh /
ENTRYPOINT /entrypoint.sh
COPY sync-content.sh /usr/local/bin/
RUN apk add --no-cache git make rclone

3
build.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
docker build --network host . -t docker.io/jeancloud/pelican-rclone-builder
docker push jeancloud/pelican-rclone-builder:latest

11
entrypoint.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -euo pipefail
[ -d .git ] || git clone "$GIT_SOURCE_REPO" .
[ -d venv ] || python -m venv venv
. venv/bin/activate
pip install --upgrade pip
git pull --rebase
pip install -r requirements.txt
sync-content.sh
make html

17
sync-content.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
[ -f .env ] && . ./.env
[ -z "$CLOUD_SERVER" ] && echo 'Aucun serveur cloud trouvé' && exit 0
[ -z "$CLOUD_PASSWORD" ] && echo "Aucun mot de passe trouvé" && exit 1
action="$1"
if [ "$action" = 'pull' ] || [ -z "$action" ] ; then
rclone sync --webdav-url="$CLOUD_SERVER/remote.php/webdav/" --webdav-vendor=nextcloud --webdav-user="$CLOUD_USER" --webdav-pass=$(rclone obscure $CLOUD_PASSWORD) :webdav:"$CLOUD_REMOTE_PATH" "$CLOUD_LOCAL_PATH"
elif [ "$action" = 'push' ] ; then
rclone sync --webdav-url="$CLOUD_SERVER/remote.php/webdav/" --webdav-vendor=nextcloud --webdav-user="$CLOUD_USER" --webdav-pass=$(rclone obscure $CLOUD_PASSWORD) "$CLOUD_LOCAL_PATH" :webdav:"$CLOUD_REMOTE_PATH"
else
echo "unknown action: $action"
exit 1
fi