LofentaLofenta/Docs

Configuration

Runtimes and languages

Supported stacks, framework detection, and the fixed base images each runtime builds on.


Supported runtimes

Lofenta builds Dockerfile, Node.js, Python, Go, Laravel/PHP, static HTML sites, and the built-in templates. If your stack is not auto-detected, add a Dockerfile.

Node.js

Node 22
Detectpackage.json at repo root
FrameworksNext.js, Express, Fastify, NestJS, Remix, Astro, SvelteKit, Nuxt
NotesBuilt on a fixed Node 22 base image. The start script in your package.json is used to launch the app.

Python

Python 3.12
Detectrequirements.txt or pyproject.toml
FrameworksFastAPI, Flask, Django, Gunicorn, Uvicorn
NotesBuilt on a fixed Python 3.12 base image. Start command is detected from a Procfile web: line, else manage.py (Django), main.py (uvicorn), wsgi.py (gunicorn), or app.py (gunicorn). gunicorn and uvicorn are auto-installed.

Go

Go 1.23
Detectgo.mod
Frameworksnet/http, Gin, Echo, Fiber, Chi
NotesBuilt on a fixed Go 1.23 multi-stage build. The main package at the repo root is compiled and run as ./app. Your app must listen on $PORT.

Laravel / PHP

PHP 8.4
Detectcomposer.json
FrameworksLaravel
NotesA multi-stage build runs composer install and serves via php artisan serve on $PORT.

Static HTML

nginx
Detectindex.html (root or public/), no package.json
FrameworksPlain HTML / assets
NotesServed by nginx. For framework static builds (Vite, Hugo, etc.) use the Dockerfile pattern below.

Docker

Any image
DetectDockerfile at repo root
FrameworksAnything
NotesWhen a Dockerfile is present it takes priority over runtime auto-detection.

Base images

Each auto-detected runtime builds on a fixed base image. Versions are not selectable:

Node.jsNode 22
PythonPython 3.12
GoGo 1.23

If you need a different version, add a Dockerfile at your repo root and pin whatever base image you like.

Static sites

Lofenta deploys long-running server processes. For static sites (Vite, CRA, Hugo, Astro static export, etc.) the supported pattern is to bundle a tiny static server in a Dockerfile:

FROM node:22-alpine AS builder
WORKDIR /app
COPY . .
RUN npm ci && npm run build

FROM node:22-alpine
WORKDIR /app
RUN npm i -g serve
COPY --from=builder /app/dist ./dist
CMD ["serve", "-l", "$PORT", "dist"]

Private packages

To install packages from private registries (GitHub Packages, npm private registry, etc.), set the auth token as an environment variable and configure your .npmrc to reference it:

# .npmrc
@myorg:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NPM_TOKEN}

Then add NPM_TOKEN as an environment variable in your Lofenta project.

Next

Custom domains

Map your domain to a project