Logo

Portabase

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

View Demo Β· Report Bug Β· Request Feature ![portabase-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/e3929e58-fefd-44cc-ab26-6f8e1a860c43)

## πŸ“š Table of Contents - [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) --- ## 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](https://github.com/Soluce-Technologies/portabase) ### πŸ”§ Built With - [![NextJS][NextJS]][NextJS-url] (v15 with App Router) - [![Drizzle][Drizzle]][Drizzle-url] - [![ShadcnUI][ShadcnUI]][ShadcnUI-url] - 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: ```bash git clone https://github.com/Soluce-Technologies/portabase cd portabase ``` 2. Start the development environment: ```bash 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 - [x] Migrate to Drizzle ORM - [ ] Add multi-language support - [ ] Extend multi-database support: - [x] PostgreSQL - [ ] MongoDB - [ ] MySQL Check out [open issues](https://github.com/Soluce-Technologies/portabase/issues) for more. --- ## 🀝 Contributing Contributions are welcome and appreciated! Here's how to get started: 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 Give the project a ⭐ if you like it! ### Top Contributors [![Contributors](https://contrib.rocks/image?repo=Soluce-Technologies/portabase)](https://github.com/Soluce-Technologies/portabase/graphs/contributors) --- ## Developer Notes ### Environment Variables ```yml # 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 # Retention RETENTION_CRON="* * * * *" ``` ### Semantic Versioning Use the following format for Docker image versioning: ```bash 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](https://github.com/Soluce-Technologies/portabase) --- ## πŸ™ Acknowledgments Thanks to all contributors and the open-source community! --- [NextJS]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white [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/