Larabase is a specialized desktop application built with Electron and Vue.js, designed specifically for Laravel developers. It enhances productivity by providing seamless integration with Laravel's project structure, database management, and developer workflow.
- Connection Management: Create, edit, and manage database connections
- Table Visualization: Browse table contents with sorting and filtering
- Schema Explorer: View database schema and relationships
- Entity Relationship Diagram: Visual ERD for database tables
- Advanced SQL Editor: With syntax highlighting using Monaco editor
- SQL Query Execution: Run and analyze SQL queries
- Query History: Track previously run queries
- Explain Plans: View SQL query execution plans
- Migration Management: View, run, and roll back migrations
- Artisan Command Interface: Run Laravel artisan commands
- Project Logs: View and analyze Laravel log files
- .env Editor: Easily edit environment configuration
- Terminal Emulation: Execute commands in an integrated terminal
- Redis Manager: View and manage Redis cache
- Live Database Monitoring: Watch database changes in real-time
- Database Restore/Dump: Import and export database content
- Theme Customization: Light and dark mode support
- Auto Updates: Automated application update notifications
- Electron: Cross-platform desktop application framework
- Vue.js 3: Frontend framework with TypeScript
- Pinia: State management
- Tailwind CSS & DaisyUI: Styling
- Monaco Editor: Code editing experience
- MySQL2: Database connectivity
- AI Integration: SQL assistance with OpenAI and Google Generative AI
# Clone the repository
git clone https://github.com/Tiagospem/larabase.git
# Install dependencies
npm install
# Start the development server
npm run dev
# Build for production
npm run build
# Build for specific platforms
npm run build:mac-apple # macOS (Apple Silicon)
npm run build:mac-intel # macOS (Intel)
npm run build:win # Windows
npm run build:linux # LinuxLarabase now supports connecting to MySQL databases through SSH tunnels. This feature allows you to:
- Connect to remote database servers securely via SSH
- Work with databases that are not directly accessible from your machine
- Maintain the same workflow and functionality as with local database connections
SSH tunneling creates a secure encrypted channel between your local machine and the remote server:
- An SSH connection is established to the remote server
- A local port is forwarded to the remote database server port
- Your connection uses this local port, which securely tunnels traffic to the remote server
- All database operations work transparently through this tunnel
The SSH tunneling implementation uses:
- The
ssh2library for SSH connections and port forwarding - The
portfinderlibrary to dynamically find available local ports - The existing MySQL connection module, modified to work through SSH tunnels
To use SSH tunneling, you need:
- SSH access to the remote server (user/password or key-based authentication)
- The remote server needs access to the MySQL database
- Create a connection in Larabase with SSH tunneling enabled
When creating a new connection, select the SSH option and provide:
- SSH server details (host, port, user, password/private key)
- Remote database details (host, port, user, password, database name)
Once connected, you can use all Larabase features as you would with a local database.
This project is licensed under the MIT License - see the LICENSE file for details.
Tiago Padilha tiagospem@gmail.com