Add Nebulynk Template - #1086
Conversation
…main settings - Introduced a new template.toml file for Nebulynk blueprint. - Defined variables for frontend, backend, LiveKit, and garage domains. - Configured PostgreSQL and storage S3 credentials with secure password generation. - Set up environment variables for services including JWT and API keys. - Specified domain configurations for frontend, backend, LiveKit, and garage services.
…tions - Changed frontend, backend, livekit, and garage URLs to HTTP for sslip.io compatibility. - Added NODE_ENV set to "development". - Introduced optional SMTP and integration keys with placeholders. - Added operational and security settings including rate limits and cookie configurations.
…t timeout - Changed version from 0.4.0 to stable in meta.json - Increased MEETING_TRANSCRIPT_WAIT_TIMEOUT_MS from 1200000 to 1800000 in template.toml
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Tested this on a Dokploy instance (hostinger.dokploy.com) by importing Upstream / legitimacy
Conventions
Deploy results (
Non-blocking suggestions
Service left running for a few minutes for inspection and then removed. |
…ved clarity and functionality
|
Thank you for the review and for testing the template end-to-end. I also pulled your cleanup commit removing I have now replaced the Garage, LiveKit, and LiveKit Egress source builds with their pinned upstream images and Dokploy-managed config mounts. The original non-root users are preserved, and I generated a fresh import payload for a Dokploy deployment test. For now, I deliberately kept
|
What is this PR about?
Add a complete Dokploy template for Nebulynk, a self-hosted collaboration platform for teams with chat, file sharing, voice/video meetings, LiveKit media, notifications, and optional AI-assisted features.
The template includes:
8080303078803900The template follows Dokploy's deployment requirements:
exposefor services handled through Dokploy routingcontainer_namedokploy-network, custom networks, or Traefik labelsstablebranch, with support for pinningNEBULYNK_SOURCE_REFto an immutable release tagOptional configuration variables are visible in the imported environment without using placeholder credentials. This includes Klipy, Web Push/VAPID, SMTP, AI endpoint allowlists, session settings, rate limiting, logging, upload limits, and meeting timeouts.
LiveKit media ports
The
portssection is intentionally used only for LiveKit WebRTC media transport:7881:7881/tcp7882:7882/udpThe LiveKit HTTP/signalling endpoint on port
7880remains exposed through Dokploy's native domain routing. Direct TCP/UDP host ports are required for browser audio and video connectivity and cannot be replaced by the standard HTTP reverse proxy alone.Production and security notes
The template intentionally starts with
NODE_ENV=developmentand HTTP-based generatedsslip.iodomains so that the initial import can be smoke-tested without certificates.Before exposing an instance publicly, operators should:
NODE_ENV=production.FRONTEND_URL,VITE_API_URL,LIVEKIT_PUBLIC_URL,STORAGE_S3_PUBLIC_ENDPOINT, andPASSKEY_RP_ID.7881/tcpand7882/udp.The complete production procedure is documented in docs/DOKPLOY.md. General guidance for secrets, TLS, firewalls, backups, and access control is available in Secure Self-Hosting.
Checklist
Before submitting this PR, please make sure that:
This is a declarative template contribution, so validation was performed through Dokploy's preview, Base64 import, and deployment workflow rather than through template-specific unit tests.
Additional source-repository validation:
npm run dokploy:template:checknode --test backend/test/security-config.test.js— 21 tests passedIssues related (if applicable)
No related issue.
Screenshots or Videos
The generated Base64 configuration was successfully imported into a Dokploy instance. The Compose configuration, environment variables, and native domains were imported successfully, and the deployment completed without errors.