cleanup
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
# LibreNMS for Cloudron - Build Notes
|
||||
|
||||
This document provides instructions for building, testing, and deploying the LibreNMS package to your Cloudron instance.
|
||||
|
||||
## Package Contents
|
||||
|
||||
The LibreNMS Cloudron package includes:
|
||||
|
||||
- **CloudronManifest.json**: The main configuration file for the Cloudron application
|
||||
- **Dockerfile**: Sets up the container with all required dependencies
|
||||
- **start.sh**: The entry point script that initializes and configures LibreNMS
|
||||
- **nginx.conf**: Web server configuration for LibreNMS
|
||||
- **supervisord.conf**: Process management for multiple services
|
||||
- **config.php**: Default LibreNMS configuration
|
||||
|
||||
## Building the Package
|
||||
|
||||
1. Create a new directory for the package:
|
||||
```bash
|
||||
mkdir librenms-cloudron
|
||||
cd librenms-cloudron
|
||||
```
|
||||
|
||||
2. Copy all files into this directory:
|
||||
- CloudronManifest.json
|
||||
- Dockerfile
|
||||
- start.sh
|
||||
- nginx.conf
|
||||
- supervisord.conf
|
||||
- config.php
|
||||
|
||||
3. Download the LibreNMS logo:
|
||||
```bash
|
||||
curl -o logo.png https://raw.githubusercontent.com/librenms/librenms/master/html/images/librenms_logo_light.svg
|
||||
```
|
||||
|
||||
4. Ensure proper file permissions:
|
||||
```bash
|
||||
chmod +x start.sh
|
||||
```
|
||||
|
||||
5. Build the Cloudron package:
|
||||
```bash
|
||||
cloudron build
|
||||
```
|
||||
|
||||
## Testing the Package
|
||||
|
||||
1. Install the app on your Cloudron for testing:
|
||||
```bash
|
||||
cloudron install —app librenms
|
||||
```
|
||||
|
||||
2. Access the LibreNMS web interface at the URL provided by Cloudron.
|
||||
|
||||
3. Log in with the default credentials:
|
||||
- Username: `admin`
|
||||
- Password: `admin`
|
||||
|
||||
4. Verify functionality by:
|
||||
- Adding a test device
|
||||
- Checking discovery and polling
|
||||
- Configuring alerts
|
||||
- Testing authentication (especially if using Cloudron SSO)
|
||||
|
||||
## Deploying to Production
|
||||
|
||||
1. Update the CloudronManifest.json with appropriate values:
|
||||
- Update `version` if needed
|
||||
- Adjust `memoryLimit` based on your production needs
|
||||
- Update `contactEmail` with your support email
|
||||
|
||||
2. Rebuild the package:
|
||||
```bash
|
||||
cloudron build
|
||||
```
|
||||
|
||||
3. Install on your production Cloudron:
|
||||
```bash
|
||||
cloudron install —app librenms
|
||||
```
|
||||
|
||||
## Authentication Configuration
|
||||
|
||||
### OIDC Authentication (Recommended)
|
||||
|
||||
The package automatically configures OIDC authentication when Cloudron SSO is enabled. This provides:
|
||||
|
||||
- Single sign-on with your Cloudron users
|
||||
- Automatic user provisioning
|
||||
- Group-based access control
|
||||
|
||||
### LDAP Authentication
|
||||
|
||||
If OIDC is not enabled, the package can use Cloudron’s LDAP server. This is configured automatically by the start.sh script.
|
||||
|
||||
### Manual Authentication
|
||||
|
||||
If neither OIDC nor LDAP is used, the package defaults to MySQL authentication with a local admin user.
|
||||
|
||||
## Data Persistence
|
||||
|
||||
The following data is stored in persistent volumes:
|
||||
|
||||
- **/app/data/rrd**: RRD files for graphing
|
||||
- **/app/data/logs**: LibreNMS logs
|
||||
- **/app/data/config**: Configuration files
|
||||
- **/app/data/plugins**: Custom plugins
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you encounter issues:
|
||||
|
||||
1. Check the logs:
|
||||
```bash
|
||||
cloudron logs -f librenms
|
||||
```
|
||||
|
||||
2. Verify database connection:
|
||||
```bash
|
||||
cloudron exec —app librenms — mysql -h “$CLOUDRON_MYSQL_HOST” -P “$CLOUDRON_MYSQL_PORT” -u “$CLOUDRON_MYSQL_USERNAME” -p”$CLOUDRON_MYSQL_PASSWORD” -e “SHOW TABLES” “$CLOUDRON_MYSQL_DATABASE”
|
||||
```
|
||||
|
||||
3. Check file permissions:
|
||||
```bash
|
||||
cloudron exec —app librenms — ls -la /app/data
|
||||
```
|
||||
|
||||
4. Restart the application:
|
||||
```bash
|
||||
cloudron restart —app librenms
|
||||
```
|
||||
|
||||
## Upgrading
|
||||
|
||||
To upgrade LibreNMS:
|
||||
|
||||
1. Update the git clone command in the Dockerfile to use the latest version tag
|
||||
2. Update the version in CloudronManifest.json
|
||||
3. Rebuild and upgrade the package:
|
||||
```bash
|
||||
cloudron build
|
||||
cloudron update —app librenms
|
||||
```
|
||||
|
||||
## Security Considerations
|
||||
|
||||
- The default admin password should be changed immediately after installation
|
||||
- Consider using Cloudron SSO to leverage your existing authentication system
|
||||
- SNMP port 161 is exposed for device monitoring - ensure proper network security
|
||||
|
||||
## Resource Usage
|
||||
|
||||
LibreNMS resource requirements depend on the number of monitored devices:
|
||||
|
||||
- For <100 devices: Default memory limit (734MB) should be sufficient
|
||||
- For 100-500 devices: Consider increasing memory limit to 1GB or more
|
||||
- For >500 devices: Consider distributed polling with multiple instances
|
Reference in New Issue
Block a user