The Neon Hub Configuration Interface provides a centralized dashboard for managing your Neon Hub settings. The interface offers a user-friendly way to configure various aspects of your hub, with additional features planned for future updates.
- Basic authentication required to access the configuration interface
- Default credentials:
- Username:
neon - Password:
neon
- Username:
- Credentials can be modified using environment variables:
NEON_HUB_CONFIG_USERNAMENEON_HUB_CONFIG_PASSWORD
The Configuration tab provides access to four main sections:
- log_level: Set Python logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
- Language: Set system language using standard language codes
- Time Format: Choose between 12-hour and 24-hour time display
- System Unit: Select metric or imperial measurement system
Manage API keys for various external services:
Manage HANA (HTTP API for Neon Applications)-specific settings:
- FastAPI title and summary
- Service configurations
- System preferences
Configure IRIS (Interactive Relay for Intelligence Systems) web interface settings:
- WebSocket URL
- Interface labels
- Chat input settings
- Language preferences
- Dark/Light Mode: Automatically detects system preference with manual toggle
- Secure Input: Password and API key fields are protected
- Tooltips: Helpful information available for configuration options
- External Links: Quick access to relevant documentation
- Auto-refresh: Configuration state is kept up-to-date
- Section-based Saving: Individual sections can be saved independently
The following features are currently in development:
- Node Services: Manage and monitor Neon Node services
- Connected Devices: View and manage devices connected to your hub
- System Updates: Handle system and component updates - currently handled through Yacht
/v1/neon_config: GET and POST Neon configuration/v1/diana_config: GET and POST Diana configuration/auth: Authentication endpoint
- Neon configuration uses the OVOS configuration system
- Diana configuration is stored in
diana.yaml - All configurations persist across system restarts
- Basic authentication is implemented for initial security
- All sensitive fields (passwords, API keys) are masked in the interface
- Configuration changes require authentication
- CORS is enabled for API access
- Regularly back up your configuration
- Use strong passwords for authentication
- Keep API keys secure and rotate them periodically
- Test configuration changes in non-production environments first
- Monitor log_level settings in production environments
To run the Neon Hub Configuration Interface as a Docker container, use the following command:
docker run -d -p 80:80 ghcr.io/neongeckocom/neon-hub-config:latestFor usage in a Neon Hub system, you will want to mount the configuration directory as a volume:
docker run -d -p 80:80 -v ~/.config/neon:/home/neon/.config/neon ghcr.io/neongeckocom/neon-hub-config:latestNote: The command above assumes the default XDG config location (
~/.config/neon). If you deployed with the Neon Hub installer, it places config under~/xdg/config/neoninstead — adjust the host side of the volume mount accordingly:docker run -d -p 80:80 -v ~/xdg/config/neon:/home/neon/.config/neon ghcr.io/neongeckocom/neon-hub-config:latest
For additional documentation and support:
- Python logging levels: Python Logging Documentation
- Language codes: Langcodes Documentation
- API key services:
The UI is built using React and Material-UI. The project is bootstrapped with Vite. To build the UI, run the following commands in the frontend/neon-hub-config folder:
pnpm install
pnpm devThe UI is found in the frontend/neon-hub-config folder and is built using React and Material-UI. The project is bootstrapped with Vite. To build the UI, run the following commands in the frontend/neon-hub-config folder:
pnpm install
pnpm buildTo package the UI into the backend, run the following command in the frontend/neon-hub-config folder:
pnpm build:pyTo run the UI, run the following command in the root of the repository:
poetry run python neon_hub_config/main.pyThe UI will be available at http://localhost.