Disclaimer: Production viable releases are tagged and listed under 'Releases'. Console is under development. The current available tags for download are Alpha version code and should not be used in production. For these Alpha tags, certain features may not function yet, visual look and feel may change, or bugs/errors may occur. Follow along our Feature Backlog for future releases and feature updates.
Console is an application that provides a 1:1, direct connection for AMT devices for use in an enterprise environment. Users can add activated AMT devices to access device information and device management functionality such as power control, remote keyboard-video-mouse (KVM) control, and more.
- Visit the latest release page
- Download the appropriate binary for your operating system and architecture from the Assets section
# Navigate to your download directory
cd <path-to-your-download>
# Extract the archive (example for Linux x64)
tar -xzf console_linux_x64.tar.gz
# Make the binary executable
chmod +x console_linux_x64
# Run Console
./console_linux_x64
# Simply double-click the downloaded executable to run
console_windows_x64.exe
Or run from Command Prompt:
console_windows_x64.exe
On first startup, you'll see:
Warning: Key Not Found, Generate new key? Y/N
Simply type Y
and press Enter - this generates the necessary encryption keys for secure operation.
Linux Users: If you encounter
"Object does not exist at path '/'"
after answering 'Y', this indicates your system lacks a keychain service. Install a keychain manager (likeseahorse
) and restart Console binary.
You’ll run two components during development:
- Console – the backend service (Go Service)
- Web UI – the frontend (for the Angular Web UI)
Local development can be done on Linux, macOS, and Windows. On Windows, WSL is recommended if you plan to use make
, but it’s not required for running Console directly.
Before you begin, ensure you have:
- Go 1.24+
- Git
- Node.js & npm (for the Web UI)
- Docker & Docker Compose (optional, for PostgreSQL)
# Clone Console
git clone https://github.com/device-management-toolkit/console.git
cd console
# Copy env template
cp .env.example .env
Edit .env
as needed. For local dev, set:
DISABLE_SWAGGER_HTTP_HANDLER=true
GIN_MODE=debug
# DB_URL=postgres://postgresadmin:admin123@localhost:5432/rpsdb # uncomment for Postgres
# Install dependencies
go mod tidy && go mod download
# Run Console
go run ./cmd/app/main.go
First run: When prompted with Warning: Key Not Found, Generate new key? Y/N
, type Y
and press Enter.
Custom Config: You can specify a custom configuration file:
go run ./cmd/app/main.go --config "/absolute/path/to/config.yml"
Database Location: SQLite database is automatically created at:
- Linux/macOS:
~/.config/device-management-toolkit/console.db
- Windows:
%APPDATA%\device-management-toolkit\console.db
# Start Postgres via Docker
make compose-up
# Run Console with database migrations
make run
This will use the DB_URL
you configured in .env
.
# Clone Sample Web UI
git clone https://github.com/device-management-toolkit/sample-web-ui
cd sample-web-ui
# Install dependencies
npm install
# Build and run
npm run enterprise
Check the output of npm run enterprise
to verify the port (default is 4200), then open the UI in your browser at:
http://localhost:4200
Before contributing code changes, familiarize yourself with:
- Install gofumpt
go install mvdan.cc/gofumpt@latest
(replaces gofmt) - Install gci
go install github.com/daixiang0/gci@latest
(organizes imports) - Ensure code is formatted correctly with
gofumpt -l -w -extra ./
- Ensure all unit tests pass with
go test ./...
- Ensure code has been linted with:
- Windows:
docker run --rm -v ${pwd}:/app -w /app golangci/golangci-lint:latest golangci-lint run -v
- Unix:
docker run --rm -v .:/app -w /app golangci/golangci-lint:latest golangci-lint run -v
- Windows:
- For detailed documentation and Getting Started, visit the docs site.
-
Find a bug? Or have ideas for new features? Open a new Issue.
-
Need additional support or want to get the latest news and events about Device Management Toolkit? Connect with the team directly through Discord.