Je pondělí, 7 ráno, ty jsi zrovna vstal/a a jdeš se připravit do školy. Všechno už máš hotové, oblečení na sobě, ranní hygienu provedenou - jen z tašky zeje díra, ve které chybí učebnice. Rychle odemkneš telefon a stiskneš ikonu aplikace Bakaláři. Místo hlavní nabídky se však na obrazovce objeví jen chybová zpráva.
„Bakalari uz zase nejdou, nemate nekdo screenshot rozvrhu?“ -Chatová skupina dotyčného, dost možná tebe
baka-cache je server, který dělá dvě hlavní věci:
- každých
x
minut se ptá bakalářů na škole (resp. adrese)y
na rozvrh pomocí přihlašovacích údajů studentaz
- tento rozvrh pak na portu
9999
vydá
x
, y
a z
jsou samozřejmě proměnné, které lze nastavit.
Na serveru (klidně třeba svém počítači) musíš mít nainstalovaný Docker. Poté si naklonuj repo a
sestav Docker image. Musíš si nastavit proměnné (viz .env.example
) a pak
sestavit Docker kontejner. Docker kontejner spustíš a jsi v cíli.
To je hodně informací. Proto tady jednotlivé příkazy vypíšu - dost možná je můžeš (pokud jsi na GNU/Linux distribuci) rovnou zkopírovat a vložit do terminálu.
cd ~ # vrácení do domovského adresáře
git clone https://github.com/stanekondrej/baka-cache.git # naklonování repa
cd baka-cache
cp .env.example .env
$EDITOR .env # uprav proměnné podle svých potřeb
docker buildx build --tag baka-cache . # sestav obraz kontejneru
docker run --publish 9999:9999 --env-file .env --tty baka-cache
Ano, jde to i bez Dockeru.
Názvy proměnných pravděpodobně indikují dostatečně jasně, co každá znamená, ale stejně to tady napíšu:
BAKALARI_USERNAME
- uživatelské jméno, přes které se přihlašuje uživatel do Bakalářů. Nevím, co se stane, když se takto přihlásíte do učitelského účtu; here be dragonsBAKALARI_PASSWORD
- heslo přiřazené k uživatelskému jménuBAKALARI_USERNAME
BAKALARI_URL
- adresa URL, na které se nachází školní instance Bakalářů školy. Měla by být ve formátuhttps://bakalari.jmeno_skoly.cz
, ale pokud vypadá trošku jinak, tak by to (snad) nemělo vaditBAKALARI_UPDATE_INTERVAL
- interval, ve kterém by se server měl ptát na nový rozvrh