PeaNUT

A tiny dashboard for Network UPS Tools.

Accessing the Web UI

  • Open your browser: https://SERVER_IP
  • Accept SSL warning (self-signed certificate).
  • Login credentials are stored in: /root/peanut/.env

Service Management

Docker:

cd /root/peanut
docker compose ps
docker compose restart
docker compose logs -f

Nginx:

systemctl status nginx
systemctl restart nginx

Important Files and Directories

  • Application root: /root/peanut/
  • Docker Compose file: /root/peanut/docker-compose.yml
  • Environment variables (credentials): /root/peanut/.env
  • Application config data: /root/peanut/config/
  • Nginx site configuration: /etc/nginx/sites-available/peanut
  • Enabled Nginx site: /etc/nginx/sites-enabled/peanut
  • TLS certificate: /etc/nginx/ssl/fullchain.pem
  • TLS private key: /etc/nginx/ssl/privkey.pem
  • Nginx log: /var/log/nginx/

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:

vim /etc/nginx/sites-available/trilium

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Run the following command to generate a valid Let’s Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Replace SSL paths in Nginx config:

vim /etc/apache2/sites-available/trilium
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Restart Nginx to apply the changes:

systemctl restart nginx

7. Open your browser and visit: https://yourdomain.com

Application Details