Julia Docs

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)

  1. Install IIS + ASP.NET Core Hosting Bundle

  2. Place your build output in:

    C:\inetpub\wwwroot\Julia
  3. Bind your domain in IIS:

    • Add bindings for HTTP and HTTPS.
    • Attach SSL cert (Let’s Encrypt, Nhân Hòa, etc).
  4. Browse to:

    http://localhost/
    https://yourdomain.com/

2. Docker Deployment (Cross-platform)

FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY ./publish/ .
EXPOSE 80
ENTRYPOINT ["dotnet", "Julia.Web.dll"]

Build & Run

dotnet publish -c Release -o publish
docker build -t julia-runtime .
docker run -p 80:80 julia-runtime

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:

server {
    listen 443 ssl;
    server_name julia.xyz;
 
    location / {
        proxy_pass http://localhost:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
 
    ssl_certificate     /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/privkey.pem;
}

4. Environment Variables

Julia supports environment-based configuration. Common variables:

VariablePurpose
ASPNETCORE_ENVIRONMENTSet to Production for live
JULIA_PLUGIN_PATHCustom path to plugin folder
JULIA_SECRETAuth 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:

  1. Replace the .wasm file in /Plugins/{plugin-name}/
  2. 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.

On this page