Skip to content

Web Management UI ​

Apq.Cfg.WebUI provides a web management interface for centralized configuration management across multiple applications.

Overview ​

WebUI is a pure static web application that can be deployed to any static file hosting service:

  • Centralized multi-application configuration management
  • Tree view for configuration hierarchy
  • Real-time editing with auto-save
  • Sensitive value masking
  • Export to JSON/ENV/CSV formats
  • API Key / JWT Bearer authentication support

Deployment ​

Docker Deployment ​

bash
docker run -d \
  --name apqcfg-webui \
  -p 8080:80 \
  amwpfiqvy/apqcfg-webui:latest

Visit http://localhost:8080

Docker Compose ​

yaml
version: '3.8'
services:
  apqcfg-webui:
    image: amwpfiqvy/apqcfg-webui:latest
    ports:
      - "8080:80"
    restart: unless-stopped

Static File Deployment ​

Build artifacts are pure static files that can be deployed to:

  • Nginx / Apache
  • GitHub Pages / GitLab Pages
  • Vercel / Netlify
  • AWS S3 / Azure Blob Storage
  • Any HTTP server
bash
# Build
cd Apq.Cfg.WebUI
npm install
npm run build
# Output to dist/ directory

Virtual Directory Deployment ​

WebUI uses relative paths (base: './'), supporting deployment to any virtual directory:

http://example.com/                    # Root
http://example.com/apqcfg/             # Virtual directory
http://example.com/admin/config/       # Multi-level virtual directory

Data Storage ​

Application endpoint information (including credentials) is stored in browser localStorage and never uploaded to any server.

typescript
interface AppEndpoint {
  id: string           // Unique identifier
  name: string         // Application name
  url: string          // API URL (e.g., http://localhost:5000/api/apqcfg)
  authType: AuthType   // Auth type: None | ApiKey | JwtBearer
  apiKey?: string      // API Key
  token?: string       // JWT Token
  description?: string // Notes
}

Remote Application Requirements ​

WebUI accesses remote application configuration APIs directly from the browser, so remote applications need to:

  1. Enable CORS to allow WebUI origin access
  2. Expose configuration API (/api/apqcfg/*)
csharp
// Configure CORS when adding WebApi
builder.Services.AddApqCfgWebApi(cfg, options =>
{
    options.EnableCors = true;  // Enabled by default
    options.CorsOrigins = ["http://your-webui-domain"];  // Default ["*"]
});

Features ​

Application Management ​

  • Add, edit, delete application endpoints
  • Test connection before saving
  • Multiple authentication methods

Configuration Editing ​

  • Tree view for configuration hierarchy
  • Real-time value editing
  • Add new configuration items
  • Delete configuration items
  • Read-only source indicator

Import/Export ​

  • Export to JSON/ENV/CSV/KV formats
  • Drag and drop file import
  • Batch operations

Security Features ​

  • Automatic sensitive value masking
  • Local credential storage
  • API Key / JWT Bearer authentication support

Supported Architectures ​

Docker image supports the following architectures:

  • linux/amd64
  • linux/arm64

Notes ​

  1. CORS Configuration: Ensure remote applications correctly configure CORS to allow WebUI domain access
  2. HTTPS: Use HTTPS in production environments
  3. Credential Security: API Keys and Tokens are stored in browser local storage, protect accordingly

Released under the MIT License