A dashboard application for monitoring and managing OpenWebUI instances. Syncs models from multiple OpenWebUI sites into a local database and presents them in a unified overview.
- Docker and Docker Compose
- A running Traefik instance on the
frontendnetwork - API keys for each OpenWebUI instance you want to monitor
-
Clone the repository:
git clone https://github.com/itk-dev/aarhusai-overview.git cd aarhusai-overview -
Configure environment variables:
cp .env .env.local
Set the required values in
.env.local:Variable Description COMPOSE_DOMAINLocal domain for Traefik routing COMPOSE_PROJECT_NAMEDocker Compose project name DATABASE_URLDoctrine database connection string OPENWEBUI_PRODUCTION_BASE_URLBase URL of the production OpenWebUI instance OPENWEBUI_PRODUCTION_API_KEYAPI key for production OPENWEBUI_TEST_BASE_URLBase URL of the test OpenWebUI instance OPENWEBUI_TEST_API_KEYAPI key for test -
Pull Docker images:
docker compose pull
-
Start the Docker environment:
docker compose up -d
-
Install dependencies:
docker compose exec phpfpm composer install -
Run database migrations:
docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interaction -
Build css:
docker compose exec phpfpm bin/console tailwind:build -
Create a user account:
docker compose exec phpfpm bin/console app:create-user admin@example.comA random password will be generated and printed in the terminal.
-
Access the site at
https://<COMPOSE_DOMAIN>and log in with the created credentials.
The dashboard requires login. Users are managed via the CLI:
# Create a new user (generates and displays a random password)
docker compose exec phpfpm bin/console app:create-user user@example.comPull models from all configured OpenWebUI sites:
docker compose exec phpfpm bin/console app:sync-openwebuiSync a single site:
docker compose exec phpfpm bin/console app:sync-openwebui --site=productionThe web dashboard shows a models overview with:
- Site selector pills for filtering by OpenWebUI instance
- Sortable table columns
- Health check indicators for configured instances
Tailwind is managed via symfonycasts/tailwind-bundle. Asset compilation happens automatically through Symfony AssetMapper.
Build the Tailwind CSS output:
docker compose exec phpfpm php bin/console tailwind:buildWatch for changes during development:
docker compose exec phpfpm php bin/console tailwind:build --watch# PHP (Symfony coding standards via php-cs-fixer)
docker compose exec phpfpm vendor/bin/php-cs-fixer fix
# Twig
docker compose exec phpfpm vendor/bin/twig-cs-fixer lint
# Composer validation
docker compose exec phpfpm composer validate --strict
docker compose exec phpfpm composer normalize --dry-run
# Markdown
docker compose run --rm markdownlint markdownlint '**/*.md'
# YAML and CSS (Prettier)
docker compose run --rm prettier '**/*.{yml,yaml}' --check
docker compose run --rm prettier 'assets/**/*.{css,scss}' --checkThis project is licensed under the MIT License.