DEV Community

kusunoki
kusunoki

Posted on

I Made My Self-Hosted AI System Actually Reliable (Monitoring, Remote Access, Backups)

Self-Hosted AI Infrastructure for Small Businesses — Part 4 of 5

Free series. All open-source. No DevOps background required. Estimated hands-on time: 60–90 minutes.

Most systems don’t fail when you build them.

They fail when you stop watching them.

What This Part Does

By the end of this part:

You can access any machine remotely from a browser
You know when something breaks before it matters
Your data is backed up and recoverable
Your system can survive failure
Step 1: Remote Desktop (Apache Guacamole)

Create:

mkdir -p ~/guacamole && cd ~/guacamole
nano docker-compose.yml

Paste:

version: '3'
services:

guacd:
image: guacamole/guacd
restart: always

db:
image: postgres:15
restart: always
environment:
- POSTGRES_DB=guacamole_db
- POSTGRES_USER=guacamole_user
- POSTGRES_PASSWORD=YOUR_PASSWORD

guacamole:
image: guacamole/guacamole
restart: always
depends_on:
- guacd
- db
environment:
- GUACD_HOSTNAME=guacd
- POSTGRESQL_HOSTNAME=db
- POSTGRESQL_DATABASE=guacamole_db
- POSTGRESQL_USER=guacamole_user
- POSTGRESQL_PASSWORD=YOUR_PASSWORD
ports:
- "127.0.0.1:8888:8080"

Run:

docker-compose up -d

Open:

👉 https://remote.yourdomain.com

Step 2: Connect Your Machine
Enable RDP (Windows)
Assign static IP
Configure router

👉 Access your office PC from anywhere

Step 3: Time Tracking

Enable in Nextcloud:

👉 TimeTracker

Use:

Start / Stop
Tag sessions

👉 Export CSV

Step 4: Tasks & Projects
Tasks
This Week
Client Work
Finance
Deck (Kanban)
Backlog
In Progress
Waiting
Done

👉 One system, no duplication

Step 5: Monitoring (Prometheus + Grafana)

Install:

sudo apt install -y prometheus prometheus-node-exporter grafana

Start:

sudo systemctl enable --now grafana-server

Open:

👉 https://grafana.yourdomain.com

👉 Live metrics

Step 6: Alerts

Configure Alertmanager:

👉 Email alerts when:

CPU high
Memory high
Disk low

👉 You know before failure

Step 7: Encrypted Backup

Create:

nano ~/backup.sh

Schedule:

crontab -e

👉 Weekly backup

What You Just Built
System Status
Remote access ✓
Monitoring ✓
Alerts ✓
Backup ✓

👉 This is now production-ready

Why This Matters

Most people stop at:

“It works”

You now have:

“It keeps working”
What Part 5 Covers
Maintenance
Failure recovery
Operations

👉 Final layer

Final Thought

Building a system is easy.

Keeping it running is what makes it real.

Part 5 is next.

— Kusunoki

Top comments (0)