- Python 78.6%
- HTML 21.1%
- Shell 0.2%
- Dockerfile 0.1%
AdvLabDB
About
AdvLabDB is a database with a web interface for labs.
Admins have an interface to manage students, groups, experiments, appointments, marks and analyse data.
Assistants have a separate interface to set marks and schedule appointments with students.
Getting Started
You can deploy AdvLabDB easily using Docker. Take a look at compose.yaml as a starting point for usage with docker compose.
One volume has to be mounted at /volumes/data in the container.
This volume has to contain the two files settings.ini and secrets.ini:
- A template for
settings.inican be found atdeploy/settings_template.ini. This template will be automatically copied to the data volume as default settings file if a settings file does not already exist. - The file
secrets.iniwill be generated automatically after the first start of the container if it does not exist.
After configuring a compose file, run the command sudo docker compose run advlabdb manage.py setup init-db to initialize the database with a guide.
After the database initialization, run sudo docker compose up -d to start the container.
All inclusive
If you don't want to use your own reverse proxy, you can use compose.yaml directly with Traefik as a reverse proxy:
- Create a directory
~/advlabdb(You use another path, but then change it also in the following steps). - Move into the directory
~/advlabdband clone the repository into it asrepo:git clone https://codeberg.org/mo8it/AdvLabDB.git ~/advlabdb/repo - Copy the directory
deploy/traefikinto the parent directory~/advlabdb:cp ~/advlabdb/repo/deploy/traefik ~/advlabdb - Open the file
~/advlabdb/traefik/etc/traefik.yaml, uncommentemail: EMAILand replaceEMAILit with your email address. You will receive a notification to this email address if any problem with your SSL certificate (for https) occur, for example certificate expiration. - Open the file
~/advlabdb/traefik/etc/dynamic, uncommentrule: Host(`SERVER_NAME`)and replaceSERVER_NAMEwith your domain,advlabdb.mo8it.comfor example. - Change the time zone
TZin~/advlabdb/traefik/compose.yamlif it is notEurope/Berlin. Use the commandtzselectto find out your time zone. - Now start Traefik by running the command
sudo docker compose up -din the directory~/advlabdb/traefik. - Create a directory for the data volume:
mkdir ~/advlabdb/data - Change the time zone
TZin~/advlabdb/repo/compose.yamlif it is notEurope/Berlin. - Initialize the database by running
sudo docker compose run advlabdb manage.py setup init-dbin the directory~/advlabdb/repoand following the guide. - Start AdvLabDB by running the command
sudo docker compose up -din the directory~/advlabdb/repo. - Visit the domain that you specified in the Traefik configuration as
SERVER_NAMEto test if AdvLabDB is running. If this is not the case, open an issue, maybe I could help :)
What does the name mean?
Advanced Lab DataBase