Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 2.58 KB

File metadata and controls

73 lines (55 loc) · 2.58 KB

User Management

The admin/manage_users.sh script is the primary tool for managing developer environments.

Commands

Adding a User

./admin/manage_users.sh add <username> [password]
  • Creates a dedicated container and a performance-optimized Sparse File Virtual Disk.
  • Automatically handles filesystem formatting (ext4) and loopback mounting.
  • Updates Traefik mapping in dynamic/users.htpasswd.
  • Optimization: Skips building the base image if it already exists.

Removing a User

./admin/manage_users.sh remove <username> [--purge]
  • Stops and removes the container.
  • Use --purge to permanently delete the user's data volume.

Updating Passwords

./admin/manage_users.sh update_password <username> <new_password>
  • Updates the hashed credentials in Traefik.
  • Restarts Traefik to ensure the new password takes effect immediately.

Backing Up Data

./admin/manage_users.sh backup <username>
  • Creates a timestamped .tar.gz archive of the user's home volume in the backups/ directory.

Listing Users

./admin/manage_users.sh list
  • Displays all active users, their container status, and network information.

Administration and Deployment

The system includes several internal-only administrative tools for system operators:

  • admin/deploy_update.sh: Fleet-wide update tool. Rebuilds images and rolls out updates to active containers with zero configuration loss.
  • admin/audit_tools.sh: Audits all active user containers for pre-installed AI and dev tools.
  • admin/monitor.sh: Live dashboard for CPU, RAM, and Disk Quota usage.
  • admin/realign_disks.sh: Critical service to restore virtual disk mounts after a host reboot.
  • admin/maintenance.sh: Destructive cleanup of unused Docker images, logs, and containers to free host space.

First-Run Verification

Every new user box is automatically provisioned with a "smoke test" suite in ~/admin/testing/. Users can verify their networking and RDB routing immediately by running:

./admin/testing/test_rdb_routing.sh

This script will:

  1. Start a temporary backend.
  2. Add an RDB route.
  3. Verify Traefik accessibility (HTTPS/Auth).
  4. Verify RDB internal proxying.

Once the script is running, you can also manually verify the routing in your browser:

This provides immediate feedback to both the operator and the developer that the environment is fully functional.