Add SurrealDB v2 as First-Class Database #7642
Summary
Adds SurrealDB v2 as a first-class database in Coolify, following the same patterns as PostgreSQL, MySQL, and MongoDB.
/claim #7642
What’s New
- Full database lifecycle management (create, start, stop, restart, delete)
- Automated backups (scheduled and manual) with S3 support
- UI integration with Livewire components
- API endpoint:
POST /api/v1/databases/surrealdb
- Status monitoring and health checks
- Environment variables and resource limits
- Public port exposure support
Technical Details
- Storage Backend: RocksDB (embedded, persistent)
- Container:
surrealdb/surrealdb:v2
- Port: 8000 (internal)
- Backup Format:
.surql files
- Tests: 28 tests, 84 assertions (all passing)
Implementation
- Created
StandaloneSurrealdb model with encrypted password storage
- Added
StartSurrealdb action for container management
- Implemented backup functionality (restore intentionally disabled for now)
- Updated 40+ files for type safety across all database operations
- Added comprehensive test coverage
Known Limitations
- Terminal access not available (SurrealDB has no shell by design)
- SSL partially working (use reverse proxy for SSL termination)
- Restore disabled (manual restore possible via SurrealDB CLI)
Breaking Changes
None - all existing functionality preserved.
Testing
php artisan test --filter=SurrealdbDatabaseTest
# Result: 28 passed (84 assertions)
Video:
https://drive.google.com/file/d/1s1W9EUo5CqWrCEQWRRIhoAEmNM166SqF/view?usp=sharing