Take full control of your databases with Portabase β the self-hosted, open-source platform for automated backup, restoration, and operational management. Powered by the Portabase Agent, every database in your infrastructure can be monitored, backed up, and managed in real time, with zero reliance on third-party services.
Secure, lightweight, and deployable anywhere β on Docker, Kubernetes, or directly on your servers. Designed for teams, DevOps, and enterprises who demand control, reliability, and automation at scale.
Documentation β’ Demo β’ Installation β’ Report Bug β’ Request Feature
Portabase is a server dashboard tool designed to simplify the backup and restoration of your database instances. It integrates seamlessly with Portabase agents for managing operations securely and efficiently.
- PostgreSQL
- MySQL
- MariaDB
- Cron-based scheduling for full control
- Manual trigger support for on-demand backups
- On-premise storage: Backups are stored directly on your VPS or server
- Cloud storage: S3-compatible backends supported (documentation)
- Full data ownership: No third-party access β your data stays under your control
- Multi-channel delivery: Email, Slack, Discord, webhooks
- Real-time alerts: Immediate feedback on success and failure
- Custom alert policies: Database-level notification rules
- Team-ready: Designed for DevOps, on-call, and incident workflows
- Workspaces: Organize databases, notification channels, and storage backends by organization and project
- Access control: Fine-grained, role-based permissions on all resources
- Role management: Member, admin, and owner roles at both system and organization levels
- Containerized deployment: Docker-based setup for predictable installation and operations
- Privacy by design: All data remains within your own infrastructure
- Open source: Apache 2.0 licensed β fully auditable codebase
π€ Portabase Agent (details)
- Headless architecture: Runs locally on your infrastructure to manage backups and database operations
- Multi-target support: Single agent can connect to multiple databases across different servers
- Lightweight & efficient: Minimal resource footprint while providing full operational control
- Secure communication: Encrypted channels between agent and central dashboard
You have 3 ways to install Portabase:
Ensure Docker is installed on your machine before getting started.
Create a docker-compose.yml file with the following configuration:
name: portabase
services:
portabase:
image: solucetechnologies/portabase:latest
env_file:
- .env
ports:
- '8887:80'
environment:
- TZ="Europe/Paris"
volumes:
- portabase-private:/app/private
depends_on:
db:
condition: service_healthy
container_name: portabase-app
db:
image: postgres:17-alpine
ports:
- "5433:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=<your_database>
- POSTGRES_USER=<database_user>
- POSTGRES_PASSWORD=<database_password>
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U <database_user> -d <your_database>" ]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres-data:
portabase-private:Then run:
docker compose up -dIf you use reverse proxy like Traefik : Check this link
# Environment
NODE_ENV=production
# Database
DATABASE_URL=postgresql://devuser:changeme@db:5432/devdb?schema=public
# Project Info
PROJECT_NAME="Portabase"
PROJECT_DESCRIPTION="Portabase is a powerful database manager"
PROJECT_URL=http://app.portabase.io
PROJECT_SECRET=
# SMTP (Email)
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=
# Google OAuth
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
AUTH_GOOGLE_METHOD=
# S3/MinIO Configuration
S3_ENDPOINT=http://app.s3.portabase.io
S3_ACCESS_KEY=
S3_SECRET_KEY=
S3_BUCKET_NAME=portabase
S3_PORT=9000
S3_USE_SSL=true
# Storage Backend: 'local' or 's3'
STORAGE_TYPE=local
# Retention
RETENTION_CRON="* * * * *"To get more information about env variables, check that link
-
Clone the repository:
git clone https://github.com/Portabase/portabase cd portabase -
Start the development database for Portabase service:
docker compose up
-
Start the Next.js app:
make up
Once the installation process is done, follow the steps to configure your instance.
- Access the dashboard β Open
http://localhost:8887in your browser. - Sign up β Register the first user, who will automatically have the Admin role in the default workspace.
- Add your first agent β Follow this guide for setup instructions.
- Create organizations and projects β Link your databases to projects to enable backups and restores.
- Configure backup policies β Define schedules (hourly, daily, weekly, or monthly) and retention rules.
- Choose a storage provider β Select where backups will be stored (local, S3, etc.).
- Save and start β Portabase validates your configuration and starts automated backups based on your defined policies.
Contributions are welcome and appreciated! Here's how to get started:
- Fork the repository
- Create a new branch:
git checkout -b features/your-feature
- Commit your changes:
git commit -m "Add YourFeature" - Push to the branch:
git push origin features/your-feature
- Open a pull request
Distributed under the Apache License. See LICENSE.txt for more details.
Thanks to all contributors and the open-source community!
Give the project a β if you like it!
