Installation

You have four ways to install Databasus: automated script (recommended), simple Docker run, Docker Compose setup or Helm for Kubernetes.

System requirements

Databasus requires the following minimum system resources to run properly:

  • CPU: At least 1 CPU core
  • RAM: Minimum 500 MB RAM
  • Storage: 5 GB for installation and as much as you need for backups
  • Docker: Docker Engine 20.10+ and Docker Compose v2.0+

Option 1: installation script (recommended, Linux only)

The installation script will:

  • ✅ Install Docker with Docker Compose (if not already installed)
  • ✅ Set up Databasus
  • ✅ Configure automatic startup on system reboot
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bash

In this case Databasus will be installed in /opt/databasus directory.

Option 2: Simple Docker run

The easiest way to run Databasus:

docker run -d \
  --name databasus \
  -p 4005:4005 \
  -v ./databasus-data:/databasus-data \
  --restart unless-stopped \
  databasus/databasus:latest

This single command will:

  • ✅ Start Databasus
  • ✅ Store all data in ./databasus-data directory
  • ✅ Automatically restart on system reboot

Option 3: Docker Compose setup

Create a docker-compose.yml file with the following configuration:

services:
  databasus:
    container_name: databasus
    image: databasus/databasus:latest
    ports:
      - "4005:4005"
    volumes:
      - ./databasus-data:/databasus-data
    restart: unless-stopped

Then run:

docker compose up -d

Keep in mind that start up can take up to ~2 minutes.

Option 4: Kubernetes with Helm

For Kubernetes deployments, install directly from the OCI registry. Choose your preferred access method based on your environment.

With ClusterIP + port-forward (development)

helm install databasus oci://ghcr.io/databasus/charts/databasus \
  -n databasus --create-namespace

Access via port-forward:

kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005

With LoadBalancer (cloud environments)

helm install databasus oci://ghcr.io/databasus/charts/databasus \
  -n databasus --create-namespace \
  --set service.type=LoadBalancer

Get the external IP and access Databasus:

kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005

With Ingress (domain-based access)

helm install databasus oci://ghcr.io/databasus/charts/databasus \
  -n databasus --create-namespace \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host=backup.example.com

For more options (NodePort, TLS, HTTPRoute for Gateway API), see the Helm chart documentation.

Getting started

After installation:

  1. Launch and access Databasus: Start Databasus and navigate to http://localhost:4005
  2. Create your first backup job: Click "New Backup" and configure your PostgreSQL database connection
  3. Configure schedule: Set up your backup schedule (hourly, daily, weekly, monthly or cron)
  4. Choose storage destination: Select where to store your backups (local, S3, Google Drive, etc.)
  5. Set up notifications: Add notification channels (Slack, Telegram, Discord) to get alerts about backup status
  6. Start backing up: Save your configuration and watch your first backup run!

How to update Databasus?

Update Docker installation

To update Databasus running via Docker, you need to stop it, clean up Docker cache and restart the container.

  1. Go to the directory where Databasus is installed (usually /opt/databasus)
  2. Stop the container: docker compose stop
  3. Clean up Docker cache: docker system prune -a
  4. Restart the container: docker compose up -d

It will get the latest version of Databasus from the Docker Hub (if you have not fixed the version in the docker-compose.yml file).

Update Helm installation

To update Databasus running on Kubernetes via Helm, use the upgrade command:

helm upgrade databasus oci://ghcr.io/databasus/charts/databasus -n databasus

If you have custom values, add -f values.yaml or use --set flags to preserve your configuration. Helm will perform a rolling update to the new version.

Migrating from Postgresus

Databasus is the new name for Postgresus. If you're currently using Postgresus, you can continue using it or migrate to Databasus.

Important: Simply renaming the Docker image isn't enough, as Postgresus and Databasus use different data folders and internal database naming.

To migrate:

  1. Stop your Postgresus container: docker compose stop
  2. Install Databasus using any of the methods above (use a different volume path ./databasus-data)
  3. Manually recreate your databases, storages and notifiers in Databasus

You can run both Postgresus and Databasus side by side during migration by using different ports and volume paths.

Troubleshooting

Container won't start

If the container fails to start, check the logs:

docker logs databasus

Port already in use

If port 4005 is already in use, you can change it in your docker-compose.yml:

ports:
  - "8080:4005" # Change 8080 to any available port

Permission denied errors

If you encounter permission issues with the data directory:

sudo chown -R $USER:$USER ./databasus-data
chmod -R 755 ./databasus-data