Files
portabase/README.md
T
2025-07-28 16:53:21 +02:00

5.0 KiB


Logo

Portabase

Easily backup and restore your database instances with Portabase
Explore the Docs »

View Demo · Report Bug · Request Feature

📚 Table of Contents


About The Project

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.

GitHub Repository: Portabase

🔧 Built With

  • NextJS (v15 with App Router)
  • Drizzle
  • ShadcnUI
  • BetterAuth
  • React Email

🚀 Getting Started

Prerequisites

Ensure Docker is installed on your machine before getting started.

Installation

To run Portabase locally:

  1. Clone the repository:
    git clone https://github.com/Soluce-Technologies/portabase
    cd portabase
    
  2. Start the development environment:
    docker compose up
    

🛠️ Usage

Portabase provides a dashboard to manage database instances and backups. It supports:

  • PostgreSQL (current)
  • MongoDB (coming soon)
  • MySQL (coming soon)

You can access the dashboard at http://localhost:3000 after starting the project.


🗺️ Roadmap

  • Add changelog
  • Enhance documentation
  • Implement testing procedures
  • Include release file
  • Improve security
  • Enhance UX/UI
  • Improve workspace management system
  • Migrate to Drizzle ORM
  • Add multi-language support
  • Extend multi-database support:
    • PostgreSQL
    • MongoDB
    • MySQL

Check out open issues for more.


🤝 Contributing

Contributions are welcome and appreciated! Here's how to get started:

  1. Fork the repository
  2. Create a new branch:
    git checkout -b feature/YourFeature
    
  3. Commit your changes:
    git commit -m "Add YourFeature"
    
  4. Push to the branch:
    git push origin feature/YourFeature
    
  5. Open a pull request

Give the project a if you like it!

Top Contributors

Contributors


Developer Notes

Environment Variables

# Environment
NODE_ENV=production

# Database
DATABASE_URL=postgresql://devuser:changeme@db:5432/devdb?schema=public

# Project Info
NEXT_PUBLIC_PROJECT_NAME="Portabase"
NEXT_PUBLIC_PROJECT_DESCRIPTION="Portabase is a powerful database manager"
NEXT_PUBLIC_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=

# 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

Semantic Versioning

Use the following format for Docker image versioning:

major.minor.patch-rc.release
# Example: 1.0.0-rc.1

major.minor.patch-rc.release-tag
# Example: 1.0.0-rc.1-dev

Zenstack Support

To regenerate schema:

zenstack generate

📄 License

Distributed under the Apache License. See LICENSE.txt for more details.


📬 Contact


🙏 Acknowledgments

Thanks to all contributors and the open-source community!