Skip to content

itk-dev/aarhusai-overview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AarhusAI Overview

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.

Requirements

  • Docker and Docker Compose
  • A running Traefik instance on the frontend network
  • API keys for each OpenWebUI instance you want to monitor

Installation

  1. Clone the repository:

    git clone https://github.com/itk-dev/aarhusai-overview.git
    cd aarhusai-overview
  2. Configure environment variables:

    cp .env .env.local

    Set the required values in .env.local:

    Variable Description
    COMPOSE_DOMAIN Local domain for Traefik routing
    COMPOSE_PROJECT_NAME Docker Compose project name
    DATABASE_URL Doctrine database connection string
    OPENWEBUI_PRODUCTION_BASE_URL Base URL of the production OpenWebUI instance
    OPENWEBUI_PRODUCTION_API_KEY API key for production
    OPENWEBUI_TEST_BASE_URL Base URL of the test OpenWebUI instance
    OPENWEBUI_TEST_API_KEY API key for test
  3. Pull Docker images:

    docker compose pull
  4. Start the Docker environment:

    docker compose up -d
  5. Install dependencies:

    docker compose exec phpfpm composer install
  6. Run database migrations:

    docker compose exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
  7. Build css:

    docker compose exec phpfpm bin/console tailwind:build
  8. Create a user account:

    docker compose exec phpfpm bin/console app:create-user admin@example.com

    A random password will be generated and printed in the terminal.

  9. Access the site at https://<COMPOSE_DOMAIN> and log in with the created credentials.

Usage

Authentication

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.com

Syncing data

Pull models from all configured OpenWebUI sites:

docker compose exec phpfpm bin/console app:sync-openwebui

Sync a single site:

docker compose exec phpfpm bin/console app:sync-openwebui --site=production

Dashboard

The web dashboard shows a models overview with:

  • Site selector pills for filtering by OpenWebUI instance
  • Sortable table columns
  • Health check indicators for configured instances

Development

Tailwind CSS

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:build

Watch for changes during development:

docker compose exec phpfpm php bin/console tailwind:build --watch

Code standards

# 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}' --check

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors