Backing up my databases correctly

I wrote about my currently deployed backup strategy in my homelab in a previous blog post (Building a homelab (5/5): Everything else). Recently I realized that my backup strategy in the homelab had a pretty obvious gap. I was relying mostly on file level backups, which worked fine for many services, but felt a bit shaky when it came to databases.

So I finally added Databasus to the setup.

Right now I am mainly using it for Postgres, for example backing up my Vaultwarden database but it supports multiple database types. Getting consistent logical backups instead of just copying files already gives me a lot more confidence.

The deployment itself is intentionally simple. I am running Databasus via Docker Compose, attaching it to my existing proxy and a dedicated database backup network. Storage is mapped to my usual data volume, and Traefik handles exposure through a subdomain. Nothing fancy, just something that integrates cleanly into what I already have.

What I like about this approach is that it complements my existing backups instead of replacing them. File level backups are still useful, but having proper database dumps adds another layer of safety, especially for services where consistency matters.

It is one of those small improvements that does not feel exciting at first, but definitely pays off the moment something breaks.

For the sake of completeness here is my (more or less) complete docker compose configuration to set things up:

---
services:
  databasus:
    container_name: databasus
    image: databasus/databasus:v3.27.0@sha256:c476ef79e415118bd75864d5b7b7b40e6e19fefabd9f5cd0e6a80c33ea3beefe
    volumes:
      - ${DATA_VOLUME_PATH}:/databasus-data
    restart: unless-stopped
    networks:
      - proxy
      - db-backup-net
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.databasus.rule=Host(`my.domain.tld`)"
      - "traefik.http.routers.databasus.entrypoints=https"
      - "traefik.http.routers.databasus.tls=true"
      - "traefik.http.services.databasus.loadbalancer.server.port=4005"

networks:
  proxy:
    external: true
  db-backup-net:
    external: true
Posted in homelab