2025-05-16 15:54:17 +02:00
<br />
<div align="center">
<a href="https://portabase.io">
<img src="images/logo.png" alt="Logo" width="80" height="80">
</a>
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
<h3 align="center">Portabase</h3>
2024-12-31 13:55:11 +01:00
<p align="center">
2025-05-16 15:54:17 +02:00
Easily backup and restore your database instances with Portabase
2024-12-31 13:55:11 +01:00
<br />
2025-05-16 15:54:17 +02:00
<a href="https://portabase.io"><strong>Explore the Docs »</strong></a>
2024-12-31 13:55:11 +01:00
<br />
<br />
<a href="https://portabase.io">View Demo</a>
·
<a href="https://github.com/Soluce-Technologies/portabase/issues/new?labels=bug&template=bug-report---.md">Report Bug</a>
·
<a href="https://github.com/Soluce-Technologies/portabase/issues/new?labels=enhancement&template=feature-request---.md">Request Feature</a>
</p>
2025-05-16 15:54:17 +02:00
</div>
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
## 📚 Table of Contents
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
- [About The Project ](#about-the-project )
- [Built With ](#built-with )
- [Getting Started ](#getting-started )
- [Prerequisites ](#prerequisites )
- [Installation ](#installation )
- [Usage ](#usage )
- [Roadmap ](#roadmap )
- [Contributing ](#contributing )
- [License ](#license )
- [Contact ](#contact )
- [Acknowledgments ](#acknowledgments )
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
---
2024-12-31 13:55:11 +01:00
## About The Project
2025-05-16 15:54:17 +02:00
**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.
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
GitHub Repository: [Portabase ](https://github.com/Soluce-Technologies/portabase )
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
### 🔧 Built With
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
- [![NextJS][NextJS]][NextJS-url] (v15 with App Router)
- [![Drizzle][Drizzle]][Drizzle-url]
- [![ShadcnUI][ShadcnUI]][ShadcnUI-url]
- BetterAuth
- React Email
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
---
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
## 🚀 Getting Started
2024-11-03 11:30:44 +01:00
2024-12-31 13:55:11 +01:00
### Prerequisites
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
Ensure Docker is installed on your machine before getting started.
2024-11-03 11:30:44 +01:00
2024-12-31 13:55:11 +01:00
### Installation
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
To run Portabase locally:
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
1. Clone the repository:
```bash
git clone https://github.com/Soluce-Technologies/portabase
cd portabase
` ``
2. Start the development environment:
` ``bash
docker compose up
` ``
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
---
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
## 🛠️ Usage
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
Portabase provides a dashboard to manage database instances and backups. It supports:
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
- 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
- [x] Migrate to Drizzle ORM
- [ ] Add multi-language support
- [ ] Extend multi-database support:
2024-12-31 13:55:11 +01:00
- [x] PostgreSQL
- [ ] MongoDB
- [ ] MySQL
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
Check out [open issues](https://github.com/Soluce-Technologies/portabase/issues) for more.
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
---
2024-11-03 11:30:44 +01:00
2025-05-16 15:54:17 +02:00
## 🤝 Contributing
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
Contributions are welcome and appreciated! Here's how to get started:
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
1. Fork the repository
2. Create a new branch:
` ``bash
git checkout -b feature/YourFeature
` ``
3. Commit your changes:
` ``bash
git commit -m "Add YourFeature"
` ``
4. Push to the branch:
` ``bash
git push origin feature/YourFeature
` ``
5. Open a pull request
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
Give the project a ⭐ if you like it!
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
### Top Contributors
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
[](https://github.com/Soluce-Technologies/portabase/graphs/contributors)
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
---
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
## Developer Notes
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
### Environment Variables
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
` ``yml
# Environment
NODE_ENV=production
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
# Database
DATABASE_URL=postgresql://devuser:changeme@db:5432/devdb?schema=public
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
# 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=
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
# SMTP (Email)
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
# Google OAuth
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
# 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
2025-01-03 20:48:58 +01:00
2025-05-16 15:54:17 +02:00
# Storage Backend: 'local' or 's3'
STORAGE_TYPE=local
` ``
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
### Semantic Versioning
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
Use the following format for Docker image versioning:
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
` ``bash
major.minor.patch-rc.release
# Example: 1.0.0-rc.1
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
major.minor.patch-rc.release-tag
# Example: 1.0.0-rc.1-dev
` ``
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
### Zenstack Support
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
To regenerate schema:
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
` ``bash
zenstack generate
` ``
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
---
2024-12-31 13:55:11 +01:00
2025-05-16 15:54:17 +02:00
## 📄 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 ](https://github.com/Soluce-Technologies/portabase )
---
## 🙏 Acknowledgments
Thanks to all contributors and the open-source community!
---
2024-12-31 13:55:11 +01:00
[NextJS]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
2025-05-16 15:54:17 +02:00
[Drizzle]: https://img.shields.io/badge/Drizzle-111?style=for-the-badge&logo=Drizzle&logoColor=c5f74f
[ShadcnUI]: https://img.shields.io/badge/shadcn/ui-000000?style=for-the-badge&logo=shadcn/ui&logoColor=white
[NextJS-url]: https://nextjs.org/
[Drizzle-url]: https://orm.drizzle.team/
[ShadcnUI-url]: https://ui.shadcn.com/