SkillAgentSearch skills...

Librusik

Fancy, self-hosted Librus Synergia web client with many cool features. Those include independent average calculation, countdowns, messages, attendances %% calculation and many more.

Install / Use

/learn @dani3l0/Librusik
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="screenshots/librusik.png" alt="Preview photo" width="600"/>

Check out the wiki for more detailed information!


Features

The coolest ones:

📋 Grades with independent average calculation - works even if school has disabled it

✉️ Messages with downloading attachments

Attendances with per-semester per-subject frequency %% calculation

🏠 School free days with countdown to next holiday

🍪 Cookies - you won't be logged out each time you close the browser

🧹 Grades cleanup - removes subjects without grades from Grades page

⌛ Cool countdown gauges on home screen

🌙 Dark theme

🎉 Confetti


Installation

1. Clone the repo:

git clone https://github.com/dani3l0/librusik && cd librusik

2. Install required dependencies:

pip install -r requirements.txt

3. And, finally run it:

python3 librusik.py

Done! Librusik is now running at localhost:7777.


Configuration

Go to localhost:7777/panel to manage your Librusik instance. Default user is admin and password is admin.

Interface is friendly enough to painlessly configure your Librusik instance.


Installation (Docker) 🐳

If you prefer using Docker to keep your system clean, you can build and run Librusik using the included Dockerfile.

1. Build the image:

docker build -t librusik .

2. Run the container: The default port is 7777. You need to map it to your host machine.

docker run -d -p 7777:7777 --name librusik librusik

Note: If you want to persist your data (config & database) so it survives container restarts, mount the /app/data volume:

docker run -d -p 7777:7777 -v $(pwd)/data:/app/data --name librusik librusik

Docker Compose

Alternatively, you can use docker-compose. Create a docker-compose.yml file in the project directory:

services:
  librusik:
    image: librusik:latest
    container_name: librusik
    ports:
      - "7777:7777"
    volumes:
        - ./data:/app/data
    #   - librusik-data:/app/data
    restart: unless-stopped

# volumes:
#   librusik-data:

Then simply run:

docker compose up -d

Librusik is now running at localhost:7777.


Reporting a bug

Feel free to open new issues when something doesn't work or you want to ask for new features/improvements.

If you encounter a bug, remember to attach some logs (exception traceback or just a detailed description).

Also, ping me somewhere so we can test whether fixes work as intended as I have no access to Librus anymore.


Some other words

Because this was my first app written in Python, code is a terrible mess. Don't expect it to be super readable and flexible.

It just works (It actually worked since 2019 xD)

View on GitHub
GitHub Stars51
CategoryEducation
Updated1d ago
Forks10

Languages

Python

Security Score

100/100

Audited on Apr 4, 2026

No findings