Deployment
Julia is designed to run anywhere — from local development machines to production-grade cloud infrastructure. Whether you're using IIS, Docker, or your favorite VPS, deployment is fast, composable, and modular.
1. Local IIS Deployment (Windows)
-
Install IIS + ASP.NET Core Hosting Bundle
- Download: https://aka.ms/dotnetcore-hosting
- Ensure ports 80 and 443 are open and forwarded if behind a router.
-
Place your build output in:
-
Bind your domain in IIS:
- Add bindings for HTTP and HTTPS.
- Attach SSL cert (Let’s Encrypt, Nhân Hòa, etc).
-
Browse to:
2. Docker Deployment (Cross-platform)
Build & Run
3. Reverse Proxy Setup (Optional)
Use NGINX or Apache as a reverse proxy in front of Julia to manage:
- Domain routing
- TLS termination
- Load balancing
Example NGINX block:
4. Environment Variables
Julia supports environment-based configuration. Common variables:
Variable | Purpose |
---|---|
ASPNETCORE_ENVIRONMENT | Set to Production for live |
JULIA_PLUGIN_PATH | Custom path to plugin folder |
JULIA_SECRET | Auth key for secure endpoints |
Set them via .env
, IIS config, or Docker -e
flag.
5. SSL Certificates
We recommend using Let’s Encrypt with tools like:
These tools auto-renew certificates and bind to IIS or NGINX directly.
6. Updating Plugins
To update a plugin:
- Replace the
.wasm
file in/Plugins/{plugin-name}/
- Restart the app (or hot-reload if supported)
New plugins are auto-registered on startup.
7. Monitoring & Logs
Julia logs all plugin requests via ILogger
and writes to console, file, or external systems.
You can also integrate with:
- Seq (structured logs)
- Grafana + Loki (metrics)
- Elastic Stack (for enterprise)
Ready for Production?
Before going live:
- ✅ Enable HTTPS
- ✅ Configure CORS
- ✅ Add rate-limiting
- ✅ Secure plugin endpoints with Bearer auth
- ✅ Monitor performance and uptime
Deploy once. Plugin forever.