Skip to content

Updating Services

This document describes how to safely update services running in the homelab.

Updates can affect:

  • Docker containers
  • LXC containers
  • Virtual machines
  • Proxmox host
  • Cloudflare configuration

Always perform updates during a maintenance window.


Update Strategy

General update order:

  1. Backup critical data
  2. Update container images
  3. Restart services
  4. Verify functionality
  5. Monitor logs

Never update multiple infrastructure layers at once.


Docker Container Updates

Services running in Docker (Portainer):

  • Nginx Proxy Manager
  • Homepage
  • Code Server
  • Tandoor

Update Procedure

Login to Portainer:

https://portainer.home

Navigate to:

Stacks → Select stack → Pull & Redeploy

Alternative via CLI:

docker compose pull docker compose up -d

Verify containers:

docker ps

Check logs:

docker logs


LXC Container Updates

Services running as LXC containers:

  • AdGuard
  • Unbound
  • Paperless
  • Cloudflared

Enter container:

pct enter

Update packages:

apt update apt upgrade -y

Restart service if required.

Exit container:

exit


Proxmox Updates

Login:

https://proxmox.home

Or via SSH:

ssh root@proxmox.home

Update packages:

apt update apt dist-upgrade

Reboot if kernel updates were installed.


Paperless Update

Paperless runs inside an LXC container with Docker.

Enter container:

pct enter 103

Update containers:

docker compose pull docker compose up -d

Verify:

paperless.home paperless.salassi.de


Home Assistant Update

Home Assistant runs as a VM (HAOS).

Login:

https://ha.home

Navigate to:

Settings → System → Updates

Install available updates.


AdGuard Update

Enter container:

pct enter 102

Update system packages:

apt update apt upgrade

Restart AdGuard if required.


Cloudflare Tunnel Update

Enter container:

pct enter 105

Update package:

apt update apt upgrade cloudflared

Restart service:

systemctl restart cloudflared

Verify status:

systemctl status cloudflared


Verify Services

After updates check all critical services:

Internal:

homepage.home paperless.home rezepte.home ha.home

External:

paperless.salassi.de rezepte.salassi.de ha.salassi.de


Rollback Strategy

If an update breaks functionality:

  1. Stop container
  2. Restore from backup
  3. Redeploy previous version

Docker rollback example:

docker compose down docker compose pull docker compose up -d


Monitoring

After updates monitor logs:

Docker:

docker logs -f

LXC:

journalctl -u


Notes

  • Always ensure backups exist before updates
  • Avoid updating during active usage
  • Update infrastructure components separately