Loading repository data…
Loading repository data…
talyaglobal / repository
Open-source self-hosted Supabase/Firebase alternative: multi-tenant backend with per-project PostgreSQL, auth, storage & REST API.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
The open-source, self-hosted backend platform — a Supabase / Firebase alternative you fully own.
Deploy your own multi-tenant backend-as-a-service in minutes. Every project gets a dedicated PostgreSQL database, isolated authentication, object storage, and an auto-generated REST API — all running on your own infrastructure, with no vendor lock-in and no data leaving your servers.
basefyio is a self-hosted alternative to Supabase and Firebase for teams who want full ownership of their backend: per-project database isolation, JWT-secured APIs, audit logging, an admin dashboard, a CLI, and a TypeScript SDK — open source under the MIT license.
Most backend platforms are either cloud-only, too opinionated, or hard to self-host properly.
basefyio gives you:
┌──────────────────────────────────────────────┐
│ Admin Dashboard │
│ Login · Projects · SQL Editor · Logs │
└──────────────────────┬───────────────────────┘
│ REST / JWT
┌──────────────────────▼───────────────────────┐
│ Platform API │
│ Auth · Projects · SQL · Audit │
└────────┬──────────────┬──────────────┬───────┘
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌───▼───────┐
│ Platform │ │ Auth │ │ Project │
│ Database │ │ Service │ │ Databases │
└───────────┘ └───────────┘ └───────────┘
| Layer | Technology |
|---|---|
| Admin UI | Next.js 14, Tailwind, shadcn/ui |
| Platform API | NestJS, Prisma, TypeScript |
| Auth | Built-in (OpenID Connect) |
| Database | PostgreSQL 16 |
| Storage | MinIO |
| Orchestration | Docker Compose |
Requires: Docker & Docker Compose, Node.js 20+
# Install the CLI
npm install -g basefyio-cli
# Clone the repository
git clone https://github.com/talyaglobal/basefyio.git basefyio && cd basefyio
# Start everything
basefyio start
The CLI starts all services, runs migrations, and launches the platform automatically.
| Service | URL |
|---|---|
| Admin UI | http://localhost:3000 |
| Platform API | http://localhost:4000 |
| Auth Console | http://localhost:8080 |
Sign in at http://localhost:3000/login with admin / admin.
git clone https://github.com/talyaglobal/basefyio.git basefyio && cd basefyio
cp .env.example .env
docker compose up -d
Starts PostgreSQL, authentication service, and object storage.
cd apps/platform-api
cp .env.example .env
npm install
npx prisma migrate dev --name init
npm run start:dev
cd apps/admin-ui
npm install
npm run dev
Open http://localhost:3000/login and sign in with admin / admin.
The basefyio CLI is the fastest way to manage your platform.
npm install -g basefyio-cli
basefyio login # Authenticate with your platform
basefyio init # Initialize a new project
basefyio start # Start the full local stack
basefyio db push # Push schema changes
basefyio db pull # Pull remote schema
basefyio db reset # Reset a project database
basefyio logs # Stream platform logs
basefyio secrets list # Manage project secrets
See CLI documentation for the full reference.
basefyio/
├── apps/
│ ├── platform-api/ # REST API — auth, projects, SQL, data, audit, billing, AI, provisioning
│ ├── admin-ui/ # Next.js admin dashboard
│ └── website/ # Public marketing site
├── packages/
│ ├── cli/ # basefyio CLI
│ ├── sdk/ # TypeScript SDK
│ └── data-engine/ # Schema-flexible document/data engine
├── scripts/ # Database initialization & maintenance
└── docker-compose.yml
When you create a project, basefyio automatically:
basefyio_<slug>)anonKey) and a service key (serviceKey)Every project is fully isolated — at the database level, the auth level, and the API level.
All SQL runs through a single, secure endpoint: POST /api/sql/execute.
Every query is:
DROP DATABASE, role mutations, and other destructive statementsThis gives you a safe, observable SQL interface without exposing raw database access.
basefyio uses a two-tier authentication model.
Platform administrators authenticate through the platform's own identity provider. These users manage projects, configure settings, and access the admin dashboard.
Application users authenticate inside their own isolated project realm. Each project gets a dedicated identity space — users, roles, and tokens are completely separated across projects.
All API endpoints are secured with JWT validation backed by published JWKS endpoints, using a standard OpenID Connect identity provider under the hood.
See .env.example for the full list of required and optional configuration values.
Already shipped (see Features): auto REST API per project, per-project RBAC, S3-compatible file storage, the TypeScript SDK, and the web-based SQL editor.
Planned next:
Pull requests are welcome! Please read CONTRIBUTING.md before you start, and see our Code of Conduct.
git checkout -b feature/your-feature)For significant changes, please open an issue first to discuss what you'd like to change.
Found a vulnerability? Please do not open a public issue — see SECURITY.md for responsible disclosure.
MIT © basefyio