CloudLinux.ro
Applications

How to install Portabase on a Cloud VPS

Updated 7/21/2026

Portabase is a self-hosted platform for automated database backup and restore, covering PostgreSQL, MySQL, MariaDB, MongoDB, Redis and more, with a web dashboard and multiple storage destinations.

A database on your own server gives you low latency and full control over configuration and backups, without managed-service pricing.

One-click install on cloudlinux.ro

The fastest way: Portabase installs automatically at the first boot of a new server.

  1. Create a Cloud VPS from the control panel.
  2. In the configuration step, pick Portabase from the app catalog.
  3. Start the server. The install runs in the background for a few minutes and its status shows on the server page.
  4. Access details and generated passwords are saved on the server in /root/app-credentials.txt. The app will be available on port 8887.

Manual install on any Ubuntu server

If you prefer doing it yourself, below is the exact script our automatic install runs. Execute it as root on a fresh Ubuntu server (24.04 recommended). It stops at the first error, and when it finishes you will find the access details in /root/app-credentials.txt.

export DEBIAN_FRONTEND=noninteractive
curl -fsSL https://get.docker.com | sh
IP=$(hostname -I | awk '{print $1}')
SECRET=$(openssl rand -hex 32)
DB_PASS=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9' | cut -c1-20)
mkdir -p /opt/portabase/portabase-data && cd /opt/portabase
cat > .env <<EOF
PROJECT_URL=http://${IP}:8887
PROJECT_SECRET=${SECRET}
POSTGRES_USER=portabase
POSTGRES_PASSWORD=${DB_PASS}
POSTGRES_HOST=db
POSTGRES_PORT=5432
POSTGRES_DB=portabase
DATABASE_URL=postgresql://portabase:${DB_PASS}@db:5432/portabase?schema=public
TZ=Europe/Bucharest
EOF
cat > docker-compose.yml <<'YAML'
services:
  db:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
      interval: 10s
      timeout: 5s
      retries: 5
  app:
    image: portabase/portabase:latest
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - '8887:80'
    env_file: .env
    volumes:
      - ./portabase-data:/data
volumes:
  postgres-data:
YAML
docker compose up -d
printf 'Portabase: http://%s:8887\nCreeaza contul de administrator la prima accesare.\nBackup-urile locale se salveaza in /opt/portabase/portabase-data\nPentru a le trimite pe un Storage Box cloudlinux.ro, vezi ghidul de pe cloudlinux.ro/tutoriale.\n' "$IP" > /root/app-credentials.txt

You can also save this script as a recipe in your account and reuse it on any new server.

Put this guide into practice on your own VPS

EU cloud servers, billed hourly, ready in minutes, with one-click installs for dozens of apps.

See pricing

Related tutorials