Skip to content

feat(docker): multi-user team WebUI with accounts, shares, and compose host - #3960

Open
nicolaeser wants to merge 6 commits into
iOfficeAI:mainfrom
nicolaeser:feat/docker-multi-user
Open

feat(docker): multi-user team WebUI with accounts, shares, and compose host#3960
nicolaeser wants to merge 6 commits into
iOfficeAI:mainfrom
nicolaeser:feat/docker-multi-user

Conversation

@nicolaeser

@nicolaeser nicolaeser commented Aug 10, 2026

Copy link
Copy Markdown

Pull Request

Description

Adds Docker-first multi-user team hosting for AionUi WebUI: compose stack for solo-or-team deploy, account admin + resource sharing UI, hardened web-host public API surface, and login/settings UX for team use.

What ships

Docker / compose

  • docker-compose.yml — pull ghcr.io/iofficeai/aionui for production-style team host
  • docker-compose.dev.yml — local image build
  • Dockerfile healthcheck + guide in docs/guides/docker.md
  • scripts/verify-team-docker.sh smoke path for team host

WebUI multi-user

  • Identity mode webui for multi-user (vs --local single-user)
  • Account settings: users panel, audit log, collaboration / share dialogs
  • Share conversations, providers, and projects (view | edit)
  • Redesigned login + forced password-change flow for admin-created members

Security

  • Public denylist for /api/webui/* and /api/auth/internal/* on the web host
  • Bootstrap admin credentials via protected one-time file (Core-side)

i18n for all new account / login / share copy across existing locales

Dependency / merge order

This PR expects AionCore multi-user foundation (admin users, resource shares, WebUI identity bootstrap).

Core PR: iOfficeAI/AionCore#815

aioncoreVersion stays on published v0.1.63 so desktop/build CI can download the binary. Team multi-user APIs need Core #815 / a future release — use docker/prebuilt/aioncore for local multi-user Core until then.

Please merge Core multi-user first (or coordinate a joint release), then land this PR.

Type of Change

  • feat — New feature
  • docs — Documentation update

Atomic PR Checklist (Rule 1)

  • Exactly one feature that cannot be further decomposed
  • Title follows Conventional Commit format

Local Checks (Rule 3)

  • bunx vitest run — 4107 passed
  • bunx tsc --noEmit
  • i18n validated
  • New/changed user-facing text uses i18n keys

Runtime Verification

  • Verified on macOS
  • Verified on Windows
  • Verified on Linux (Docker team host smoke)
  • Self-review done

Commits

  1. feat(docker): multi-user WebUI image, compose, and host security
  2. feat(webui): multi-user accounts, login, and resource sharing
  3. fix(webui): tighten collaboration share picker types
  4. fix(docker): pin aioncore to published v0.1.63 for CI
  5. test(preview): spy both Storage paths in quota-exceeded test

Thank you for contributing to AionUi! 🎉

nicolaeser added 4 commits August 11, 2026 08:54
Ship docker-compose.yml (pull ghcr.io/iofficeai/aionui) and
docker-compose.dev.yml (local build), harden the web host public
surface, and start packaged webui with webui identity mode so team
deployments require login instead of open --local APIs.
Add browser account management, forced password change, admin user
and audit panels, and collaboration sharing for conversations,
connections, and projects with account-scoped client state.
Resolve TypeScript errors in the multi-resource share selectors so
typecheck and push gates pass.
v0.1.64 is not released yet, so prepareAioncore fails desktop build CI.
Multi-user Core remains a documented dependency until that release ships.
@nicolaeser
nicolaeser force-pushed the feat/docker-multi-user branch from 823a3b5 to ce40a2a Compare August 11, 2026 06:57
jsdom and Node expose setItem on different objects; mock both so the
quota path is exercised reliably without production code changes.
Add focused unit/DOM tests for the account admin UI, collaboration
share dialogs, login/change-password pages, and account helper mapping
so Codecov patch coverage reflects the multi-user feature work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant