6.3 KiB
Portabase
Free, open-source, and self-hosted solution for automated backup and restoration of your database instances.
Documentation • Demo • Installation • Contributing • 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
🚀 Getting Started
Prerequisites
Ensure Docker is installed on your machine before getting started.
Installation
To run Portabase locally:
- Clone the repository:
git clone https://github.com/Soluce-Technologies/portabase cd portabase - 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:
- Fork the repository
- Create a new branch:
git checkout -b feature/YourFeature - Commit your changes:
git commit -m "Add YourFeature" - Push to the branch:
git push origin feature/YourFeature - Open a pull request
Give the project a ⭐ if you like it!
Top 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
- Killian Larcher - killian.larcher@soluce-technologies.com
- Charles Gauthereau - charles.gauthereau@soluce-technologies.com
- Project Link: Portabase GitHub
🙏 Acknowledgments
Thanks to all contributors and the open-source community!