Backend API for serving aula. Visit the aula documentation for more information about the project.
See SELF_HOSTING.md for up-to-date information. At the moment, running aula-backend and aula-frontend docker images is NOT enough.
See LICENSE.txt. Licensed under the EUPL-1.2 or later.
You may obtain a copy of the license at https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12.
Thank you for your interest. See contribution guidelines at CONTRIBUTION.md.
First time setup:
# Copy example configs for legacy
make prepare-legacy-local
# Generate keypair for oauth
php artisan passport:keys -qThen, to start aula-backend(s), run:
# Run both legacy aula-backend:v1 (:8080) and current Laravel-based aula-backend:v2 (:8000)
docker compose up --build -dAnd initialize your first Tenant Instance from within the v2 container with php artisan tenant:create.
We're currently rewriting the API to use Laravel and be RESTful. New feature development using code in the ./legacy/ folder is stopped since 2025-11-15. Security patches and bugs are welcome. As parts of the system get refactored, and API clients updated, we will remove the related code from the legacy codebase.
./legacy/srccontains all PHP source files that are served by Apache2../legacy/confighas templates for configuration. You can manually edit them../legacy/inithas SQL scripts to init the legacy DB structure, for local development use only../legacy/docker-localis local-only folder bound to Docker volumes storing database and uploaded files.
You can use one of the two following:
# Run the latest published release locally
make run-legacy-release# Run locally live development environment (files you edit get updated immediately)
make run-legacy-local