Files
portabase/README.md
T

6.3 KiB


Logo

Portabase

Free, open-source, and self-hosted solution for automated backup and restoration of your database instances.

License: MIT Docker Pulls Platform

PostgreSQL MySQL MariaDB Self Hosted

DocumentationDemoInstallationContributingReport BugRequest Feature

portabase-ezgif com-video-to-gif-converter

📚 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 (v16 with App Router)
  • Drizzle
  • ShadcnUI
  • BetterAuth

🚀 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
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="* * * * *"

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

📄 License

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


📬 Contact


🙏 Acknowledgments

Thanks to all contributors and the open-source community!