Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sync ILIAS with PFERD and upload the files to bwSync&Share using rclone.

Setup

1. Create the server

Create an Ubuntu server and set up SSH access.

A free, good option is bwCloud.

Install the required packages:

sudo apt update
sudo apt install -y git wget rclone

Clone the repository into /home/ubuntu/pferd:

cd ~
git clone https://github.com/FreGeh/kit-ilias-sync pferd
cd pferd

Expected structure:

/home/ubuntu/
├── Nextcloud/
└── pferd/

2. Update PFERD

Download the latest Linux executable:

wget -O pferd-linux https://github.com/Garmelon/PFERD/releases/latest/download/pferd-linux
chmod +x pferd-linux
chmod +x syncing.sh

3. Configure PFERD credentials

Create the local credentials file:

cp .pferd_pass.example .pferd_pass
nano .pferd_pass
chmod 600 .pferd_pass

Fill in the two existing lines with your ILIAS credentials.

.pferd_pass is ignored by Git and should never be committed

4. Configure the semester

Set the current semester in syncing.sh:

SEMESTER="SS26"

If no config exists for the semester yet, it automatically creates one from configs/config_template.ini, so you just gotta add or adjust the course rename rules in the generated config if needed.

5. Configure rclone

Create a WebDAV remote:

rclone config

First create a new app password in bwSync&Share Security Settings, to then set it up like this:

name: bwsyncshare_pferd
type: webdav
url: https://bwsyncandshare.kit.edu/remote.php/dav/files/<APP_USERNAME>/
vendor: nextcloud
user: <APP_USERNAME>
pass: <APP_PASSWORD>

Do not use the normal KIT password here. Use the generated bwSync&Share app credentials.

The remote must be named:

bwsyncshare_pferd

Test it:

rclone lsd bwsyncshare_pferd:

It should list your bwSync&Share folders.

6. Test the sync

Run the script manually first:

./syncing.sh

PFERD downloads into:

/home/ubuntu/Nextcloud/<SEMESTER>

rclone then uploads to:

bwsyncshare_pferd:KIT Sharing/<SEMESTER>

Check the log if something fails:

tail -n 100 pferd.log

7. Run automatically

crontab -e

For example every 15 minutes:

*/15 * * * * /home/ubuntu/pferd/syncing.sh

Check:

crontab -l

Follow the sync log:

tail -f /home/ubuntu/pferd/pferd.log

About

Sync KIT ILIAS content using PFERD and bwSync&Share via rclone

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages