Portabase Logo

Dashboard Installation

Install the Portabase management interface via CLI or Docker.

The Portabase Dashboard is the central interface that allows you to manage your agents, configure your backups, and visualize the state of your infrastructure.

You have two methods to install it:

  1. Via CLI (Automatic): Ideal for getting started quickly locally or on a VPS.
  2. Via Docker Compose (Manual): Recommended for advanced production environments or GitOps.

The CLI takes care of everything: it downloads templates, generates encryption secrets (PROJECT_SECRET), configures the internal database, and launches the containers.

Create the Dashboard

Run the following command. This will create a folder containing the configuration.

# Syntax: portabase dashboard <folder-name>
portabase dashboard my-dashboard

By default, the interface will be on port 8887. You can change it with the --port option:

portabase dashboard my-dashboard --port 3000

Start the service

If you didn't use the --start option during creation, start the service manually:

portabase start my-dashboard

Access the interface

Open your browser: http://localhost:8887 (or the chosen port).

If you don't want to use the CLI, you can deploy the stack manually.

File structure

Create a folder and place two files in it: docker-compose.yml and .env.

mkdir portabase-dashboard && cd portabase-dashboard

Docker configuration

mkdir portabase-dashboard && cd portabase-dashboard

Docker configuration

docker-compose.yml
name: portabase-dashboard

services:
    portabase:
        container_name: portabase-app
        image: solucetechnologies/portabase:latest
        restart: always
        env_file: .env
        ports:
            - "${PORT:-8887}:3000"
        volumes:
            - portabase-private:/app/private
        depends_on:
            db:
                condition: service_healthy
        networks:
            - default

    db:
        container_name: portabase-pg
        image: postgres:17-alpine
        restart: always
        volumes:
            - postgres-data:/var/lib/postgresql/data
        environment:
            - POSTGRES_DB=${POSTGRES_DB}
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
        healthcheck:
            test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
            interval: 10s
            timeout: 5s
            retries: 5
        networks:
            - default

volumes:
    postgres-data:
    portabase-private:

Environment variables

Create the .env file. Warning, you must generate passwords and secrets yourself.

.env
# --- App Configuration ---
PORT=8887
TIME_ZONE=Europe/Paris
PROJECT_NAME=portabase-dashboard
PROJECT_URL=http://localhost:8887

# ⚠️ GENERATE A STRONG SECRET (e.g., openssl rand -hex 32)
# This secret is used to encrypt communications with agents.
PROJECT_SECRET=change_me_please_generate_a_secure_hex_token

# --- Internal Database Configuration ---
POSTGRES_DB=portabase
POSTGRES_USER=portabase
POSTGRES_PASSWORD=change_me_secure_db_password
POSTGRES_HOST=db
PG_PORT=5432

# Connection URL (do not modify the structure, just change the password)
DATABASE_URL=postgresql://portabase:change_me_secure_db_password@db:5432/portabase?schema=public

Startup

docker compose up -d

Daily management (CLI)

The CLI offers convenient shortcuts to manage your dashboard's lifecycle without having to type complex Docker commands.

ActionCommandDescription
Startportabase start <path>Launches containers in the background (up -d).
Stopportabase stop <path>Stops containers cleanly.
Restartportabase restart <path>Restarts the complete stack.
Logsportabase logs <path>Displays logs in real time (-f option enabled by default).
Uninstallportabase uninstall <path>⚠️ Removes containers and data volumes.

On this page