Files
dbgate/PREMIUM-BUILD.md

210 lines
4.2 KiB
Markdown

# 🚀 DbGate Premium Build Guide
This guide explains how to build and run DbGate with **all premium features enabled**. This fork has been modified to unlock all premium functionality.
---
## ✅ What's Unlocked?
| Feature | Status |
|---------|--------|
| Side-by-side tabs | ✅ Enabled |
| Query designer & charts | ✅ Enabled |
| Master/detail views | ✅ Enabled |
| Foreign key lookups | ✅ Enabled |
| Grid view grouping and macros | ✅ Enabled |
| Advanced batch export/import | ✅ Enabled |
| Amazon Redshift driver | ✅ Enabled |
| MongoDB 4 Legacy driver | ✅ Enabled |
| libSQL/Turso driver | ✅ Enabled |
| CosmosDB driver | ✅ Enabled |
| Firestore driver | ✅ Enabled |
---
## 📋 Prerequisites
Before you begin, make sure you have:
- **Node.js** (version 18 or higher) - [Download here](https://nodejs.org/)
- **Yarn** package manager - Install with: `npm install -g yarn`
- **Git** - [Download here](https://git-scm.com/)
---
## 🖥️ Option 1: Run as Desktop App (Windows/Mac/Linux)
### Step 1: Clone the Repository
```bash
git clone https://github.com/DeNNiiInc/dbgate.git
cd dbgate
```
### Step 2: Install Dependencies
```bash
yarn install
```
This will take several minutes as it downloads all packages and builds plugins.
### Step 3: Build and Run
**For development (with hot reload):**
```bash
yarn start
```
Then open http://localhost:5001 in your browser.
**For desktop app:**
```bash
yarn build:app:local
yarn start:app:local
```
### Step 4: Find the Portable Executable (Windows)
After building, you'll find a ready-to-use portable app at:
```
dbgate/app/dist/win-unpacked/DbGate.exe
```
You can copy this entire `win-unpacked` folder anywhere and run it without installation.
---
## 🐳 Option 2: Run as Web App with Docker
> ⚠️ **IMPORTANT: Official Docker Hub is NOT Premium!**
>
> The official image `dbgate/dbgate` on Docker Hub does **NOT** have premium features.
> You must **build your own image** from this repository to get premium features.
> Do NOT use `docker pull dbgate/dbgate` - it won't have the unlocked features!
### Step 1: Clone and Build Docker Image
```bash
git clone https://github.com/DeNNiiInc/dbgate.git
cd dbgate
yarn install
yarn prepare:docker
cd docker
docker build -t dbgate-premium .
```
### Step 2: Run the Container
```bash
docker run -d \
--name dbgate-premium \
-p 3000:3000 \
-v dbgate-data:/root/.dbgate \
dbgate-premium
```
### Step 3: Access the Web Interface
Open your browser and go to:
```
http://localhost:3000
```
Or if running on a server, replace `localhost` with your server IP.
---
## 🐧 Option 3: Run as Web App on Linux (No Docker)
### Step 1: Clone the Repository
```bash
git clone https://github.com/DeNNiiInc/dbgate.git
cd dbgate
```
### Step 2: Install Dependencies
```bash
yarn install
```
### Step 3: Build for Production
```bash
yarn build:api
yarn build:web
```
### Step 4: Run the Server
```bash
cd packages/api
node dist/bundle.js
```
The web app will be available at `http://your-server:3000`
### Optional: Run with PM2 (Keeps Running)
```bash
npm install -g pm2
cd packages/api
pm2 start dist/bundle.js --name dbgate
pm2 save
pm2 startup
```
---
## 🔧 Technical Details
### What Was Modified?
Three files were changed to enable premium features:
| File | Change |
|------|--------|
| `packages/api/src/utility/checkLicense.js` | `isProApp()` returns `true` |
| `packages/web/src/utility/proTools.ts` | `isProApp()` returns `true` |
| `app/src/proTools.js` | `isProApp()` returns `true` |
### Environment Variables
You can customize the server with these environment variables:
| Variable | Default | Description |
|----------|---------|-------------|
| `PORT` | 3000 | Web server port |
| `CONNECTIONS` | - | Predefined connections |
| `WEB_ROOT` | - | Custom web root path |
---
## ❓ Troubleshooting
### "yarn is not recognized"
Install yarn globally:
```bash
npm install -g yarn
```
### Build fails on Windows with "Cannot create symbolic link"
Enable Developer Mode:
1. Open Windows Settings
2. Search for "Developer settings"
3. Turn on "Developer Mode"
4. Try building again
### Port 3000 is already in use
Use a different port:
```bash
PORT=3001 node dist/bundle.js
```
---
## 📝 License
This project is based on DbGate which is licensed under GPL-3.0.