Julia
This page covers the requirements and internals of deploying Julia content to ricochet.
Project requirements
Section titled “Project requirements”Every Julia deployment requires a Manifest.toml file in the project root.
This lockfile is generated by Julia’s built-in package manager (Pkg) and records all package dependencies and their versions.
Example _ricochet.toml
Section titled “Example _ricochet.toml”[content]name = "My Dash.jl App"entrypoint = "app.jl"access_type = "external"content_type = "julia-service"
[language]name = "julia"packages = "Manifest.toml"
[serve]min_instances = 0max_instances = 5Supported content types
Section titled “Supported content types”Julia content items can be deployed as apps or tasks.
Content Type | Description |
|---|---|
julia-service | A web app or API using a Julia runtime such as Dash.jl. |
Content Type | Description |
|---|---|
julia | A Julia script. |
quarto-jl | A Quarto document using a Julia runtime. Can be served as a static site. |
How ricochet runs Julia content
Section titled “How ricochet runs Julia content”Julia version discovery
Section titled “Julia version discovery”Julia must be installed via juliaup.
Only juliaup-managed Julia installations are supported.
Ricochet vendors juliaup at $RICOCHET_HOME/vendor.
juliaup add <version>When a deployment is received, ricochet uses juliaup to discover installed Julia channels and selects the appropriate version.
Environment restoration
Section titled “Environment restoration”When a bundle is deployed, ricochet restores Julia package dependencies from the Manifest.toml file using Julia’s built-in package manager.