Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.envless.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Install

npm install @goenvless/envless

Two ways to load

Add a single import at your entry file, before anything else:
server.ts
import '@goenvless/envless/register';
import express from 'express';

const app = express();
// ... env is already populated
/register runs the loader synchronously at module load: fetch → decrypt → populate process.env and the typed env proxy.

--import flag

If you can’t modify the entry file (or want to opt in via launcher):
node --import @goenvless/envless/register server.js
Works the same way, without touching the source. Useful for adding Envless to existing apps or third-party scripts.

Use it

import { env } from '@goenvless/envless/server';

const port = env.PORT;                 // number
const db = new Database(env.DATABASE_URL);

app.listen(port);

Process management

When using pm2, forever, or systemd, set ENVLESS_TOKEN in the service definition for production. The loader reads it on each restart.
# /etc/systemd/system/myapp.service
Environment=ENVLESS_TOKEN=ev_live_xxxxxxxxxxxx
ExecStart=/usr/bin/node --import @goenvless/envless/register /srv/app/server.js

Workers and child processes

Variables populated in process.env are inherited by child_process.spawn / fork by default — no extra setup. For Worker threads, pass env: process.env explicitly if you’ve customized the worker’s env.