mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
Working on the README.md
This commit is contained in:
@@ -4,19 +4,19 @@
|
|||||||
<img src="/public/images/logo.png" alt="Logo" width="80" height="80">
|
<img src="/public/images/logo.png" alt="Logo" width="80" height="80">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<h3 align="center">Portabase</h3>
|
<h3 align="center">Portabase</h3>
|
||||||
<p>
|
<p>
|
||||||
Free, open-source, and self-hosted solution for automated backup and restoration of your database instances.
|
Free, open-source, and self-hosted solution for automated backup and restoration of your database instances.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://hub.docker.com/r/solucetechnologies/portabase)
|
[](https://hub.docker.com/r/solucetechnologies/portabase)
|
||||||
[](https://github.com/RostislavDugin/postgresus)
|
[](https://github.com/RostislavDugin/postgresus)
|
||||||
|
|
||||||
[](https://www.postgresql.org/)
|
[](https://www.postgresql.org/)
|
||||||
[](https://www.mysql.com/)
|
[](https://www.mysql.com/)
|
||||||
[](https://mariadb.org/)
|
[](https://mariadb.org/)
|
||||||
[](https://github.com/RostislavDugin/postgresus)
|
[](https://github.com/RostislavDugin/postgresus)
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<strong>
|
<strong>
|
||||||
@@ -29,20 +29,20 @@
|
|||||||
</strong>
|
</strong>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## 📚 Table of Contents
|
## 📚 Table of Contents
|
||||||
|
|
||||||
- [About The Project](#about-the-project)
|
- [About The Project](#-about-the-project)
|
||||||
- [Getting Started](#getting-started)
|
- [Getting Started](#-getting-started)
|
||||||
- [Usage](#usage)
|
- [Usage](#-usage)
|
||||||
- [Roadmap](#roadmap)
|
- [Roadmap](#-roadmap)
|
||||||
- [Contributing](#contributing)
|
- [Contributing](#-contributing)
|
||||||
- [License](#license)
|
- [License](#-license)
|
||||||
- [Contact](#contact)
|
- [Contact](#-contact)
|
||||||
- [Acknowledgments](#acknowledgments)
|
- [Acknowledgments](#-acknowledgments)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -59,6 +59,8 @@ GitHub Repository: [Portabase](https://github.com/Soluce-Technologies/portabase)
|
|||||||
- [![Drizzle][Drizzle]][Drizzle-url]
|
- [![Drizzle][Drizzle]][Drizzle-url]
|
||||||
- [![ShadcnUI][ShadcnUI]][ShadcnUI-url]
|
- [![ShadcnUI][ShadcnUI]][ShadcnUI-url]
|
||||||
- [![BetterAuth][BetterAuth]][BetterAuth-url]
|
- [![BetterAuth][BetterAuth]][BetterAuth-url]
|
||||||
|
- [![Docker][Docker]][Docker-url]
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -113,14 +115,14 @@ volumes:
|
|||||||
portabase-private:
|
portabase-private:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Then run:
|
Then run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
If you use reverse proxy like Traefik : [Check this link](https://portabase.io/docs/portabase/advanced-topics/reverse-proxy)
|
If you use reverse proxy like
|
||||||
|
Traefik : [Check this link](https://portabase.io/docs/portabase/advanced-topics/reverse-proxy)
|
||||||
|
|
||||||
### Option 2: Locally (Development)
|
### Option 2: Locally (Development)
|
||||||
|
|
||||||
@@ -133,6 +135,7 @@ If you use reverse proxy like Traefik : [Check this link](https://portabase.io/d
|
|||||||
```bash
|
```bash
|
||||||
docker compose up
|
docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🛠️ Usage
|
## 🛠️ Usage
|
||||||
@@ -147,11 +150,13 @@ It currently supports:
|
|||||||
|
|
||||||
1. **Access the dashboard** – Open `http://localhost:8887` in your browser.
|
1. **Access the dashboard** – Open `http://localhost:8887` in your browser.
|
||||||
2. **Sign up** – Register the first user, who will automatically have the **Admin** role in the default workspace.
|
2. **Sign up** – Register the first user, who will automatically have the **Admin** role in the default workspace.
|
||||||
3. **Add your first agent** – Follow [this guide](https://github.com/Soluce-Technologies/agent-portabase) for setup instructions.
|
3. **Add your first agent** – Follow [this guide](https://github.com/Soluce-Technologies/agent-portabase) for setup
|
||||||
|
instructions.
|
||||||
4. **Create organizations and projects** – Link your databases to projects to enable backups and restores.
|
4. **Create organizations and projects** – Link your databases to projects to enable backups and restores.
|
||||||
5. **Configure backup policies** – Define schedules (hourly, daily, weekly, or monthly) and retention rules.
|
5. **Configure backup policies** – Define schedules (hourly, daily, weekly, or monthly) and retention rules.
|
||||||
6. **Choose a storage provider** – Select where backups will be stored (local, S3, etc.).
|
6. **Choose a storage provider** – Select where backups will be stored (local, S3, etc.).
|
||||||
7. **Save and start** – Portabase validates your configuration and starts automated backups based on your defined policies.
|
7. **Save and start** – Portabase validates your configuration and starts automated backups based on your defined
|
||||||
|
policies.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -172,7 +177,6 @@ It currently supports:
|
|||||||
- [x] MySQL
|
- [x] MySQL
|
||||||
- [x] MariaDB
|
- [x] MariaDB
|
||||||
|
|
||||||
|
|
||||||
Check out [open issues](https://github.com/Soluce-Technologies/portabase/issues) for more.
|
Check out [open issues](https://github.com/Soluce-Technologies/portabase/issues) for more.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -212,28 +216,28 @@ Give the project a ⭐ if you like it!
|
|||||||
# Environment
|
# Environment
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
DATABASE_URL=postgresql://devuser:changeme@db:5432/devdb?schema=public
|
DATABASE_URL=postgresql://devuser:changeme@db:5432/devdb?schema=public
|
||||||
|
|
||||||
# Project Info
|
# Project Info
|
||||||
PROJECT_NAME="Portabase"
|
PROJECT_NAME="Portabase"
|
||||||
PROJECT_DESCRIPTION="Portabase is a powerful database manager"
|
PROJECT_DESCRIPTION="Portabase is a powerful database manager"
|
||||||
PROJECT_URL=http://app.portabase.io
|
PROJECT_URL=http://app.portabase.io
|
||||||
PROJECT_SECRET=
|
PROJECT_SECRET=
|
||||||
|
|
||||||
# SMTP (Email)
|
# SMTP (Email)
|
||||||
SMTP_HOST=
|
SMTP_HOST=
|
||||||
SMTP_PORT=587
|
SMTP_PORT=587
|
||||||
SMTP_USER=
|
SMTP_USER=
|
||||||
SMTP_PASSWORD=
|
SMTP_PASSWORD=
|
||||||
SMTP_FROM=
|
SMTP_FROM=
|
||||||
|
|
||||||
# Google OAuth
|
# Google OAuth
|
||||||
AUTH_GOOGLE_ID=
|
AUTH_GOOGLE_ID=
|
||||||
AUTH_GOOGLE_SECRET=
|
AUTH_GOOGLE_SECRET=
|
||||||
AUTH_GOOGLE_METHOD=
|
AUTH_GOOGLE_METHOD=
|
||||||
|
|
||||||
# S3/MinIO Configuration
|
# S3/MinIO Configuration
|
||||||
S3_ENDPOINT=http://app.s3.portabase.io
|
S3_ENDPOINT=http://app.s3.portabase.io
|
||||||
S3_ACCESS_KEY=
|
S3_ACCESS_KEY=
|
||||||
S3_SECRET_KEY=
|
S3_SECRET_KEY=
|
||||||
@@ -241,14 +245,15 @@ S3_BUCKET_NAME=portabase
|
|||||||
S3_PORT=9000
|
S3_PORT=9000
|
||||||
S3_USE_SSL=true
|
S3_USE_SSL=true
|
||||||
|
|
||||||
# Storage Backend: 'local' or 's3'
|
# Storage Backend: 'local' or 's3'
|
||||||
STORAGE_TYPE=local
|
STORAGE_TYPE=local
|
||||||
|
|
||||||
# Retention
|
# Retention
|
||||||
RETENTION_CRON="* * * * *"
|
RETENTION_CRON="* * * * *"
|
||||||
```
|
```
|
||||||
|
|
||||||
To get more information about env variables, check that [link](https://portabase.io/docs/portabase/advanced-topics/environment)
|
To get more information about env variables, check
|
||||||
|
that [link](https://portabase.io/docs/portabase/advanced-topics/environment)
|
||||||
|
|
||||||
### Semantic Versioning
|
### Semantic Versioning
|
||||||
|
|
||||||
@@ -282,12 +287,22 @@ Distributed under the Apache License. See `LICENSE.txt` for more details.
|
|||||||
|
|
||||||
Thanks to all contributors and the open-source community!
|
Thanks to all contributors and the open-source community!
|
||||||
|
|
||||||
|
[Docker]: https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=fff&style=for-the-badge
|
||||||
|
|
||||||
[NextJS]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
|
[NextJS]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
|
||||||
|
|
||||||
[BetterAuth]: https://img.shields.io/badge/Better%20Auth-FFF?logo=betterauth&logoColor=000&style=for-the-badge
|
[BetterAuth]: https://img.shields.io/badge/Better%20Auth-FFF?logo=betterauth&logoColor=000&style=for-the-badge
|
||||||
|
|
||||||
[Drizzle]: https://img.shields.io/badge/Drizzle-111?style=for-the-badge&logo=Drizzle&logoColor=c5f74f
|
[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
|
[ShadcnUI]: https://img.shields.io/badge/shadcn/ui-000000?style=for-the-badge&logo=shadcn/ui&logoColor=white
|
||||||
|
|
||||||
[NextJS-url]: https://nextjs.org/
|
[NextJS-url]: https://nextjs.org/
|
||||||
|
|
||||||
[BetterAuth-url]: https://www.better-auth.com/
|
[BetterAuth-url]: https://www.better-auth.com/
|
||||||
|
|
||||||
[Drizzle-url]: https://orm.drizzle.team/
|
[Drizzle-url]: https://orm.drizzle.team/
|
||||||
|
|
||||||
[ShadcnUI-url]: https://ui.shadcn.com/
|
[ShadcnUI-url]: https://ui.shadcn.com/
|
||||||
|
[Docker-url]: https://www.docker.com/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user