src | ||
static | ||
.gitignore | ||
Cargo.toml | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
README.md |
meincantor-api
The API backend for the GCG.MeinCantor school platform built with Rocket.rs in Rust.
It includes a plugin for receiving data from Indiware Mobil and an OpenID Connect authentication extension.
See the repository of the main application for additional information.
Building
Dependencies:
openssl-devel
cargo build --release
Deployment
docker-compose
version: "3.1"
services:
api:
image: registry.cantorgymnasium.de/cantortechnik/meincantor-api
restart: always
ports:
- 8000:8000
environment:
IW_TIMETABLE: https://stundenplan24.de/EXAMPLE_SCHOOL/mobil/mobdaten
IW_TIMETABLE_USER: EXAMPLE_USER
IW_TIMETABLE_PASSWORD: EXAMPLE_PASSWORD
OIDC_USERINFO: https://keycloak.example.com/auth/realms/EXAMPLE_REALM/protocol/openid-connect/userinfo
volumes:
- ./static:/app/static
- Create folder
mkdir meincantor-api
- Create
docker-compose.yml
file with the content above - Start with
docker-compose up -d
local
- Edit
src/config.rs
- Rebuild the binary
- Execute the binary with
./target/release/api
Licensing
Copyright (C) 2021-2022 Denys Konovalov
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.