Skip to main content

Run from source

Build and run Lyna without Docker. You need Java 25, Node.js 24 and Git.

The backend​

Build it:

git clone https://github.com/rainbowdashlabs/lyna.git
cd lyna
./gradlew installDist

That lays out a runnable copy in build/install/lyna/, with the start script bin/lyna. Copy that directory to where Lyna should live.

Lyna reads config/ from its working directory, so start it from the directory that holds config/:

cd /opt/lyna
export JAVA_OPTS="-Dlog4j.configurationFile=config/log4j2.xml"
./bin/lyna

JAVA_OPTS tells Log4j where your logging file is. Give the secrets as environment variables, see secrets. The backend listens on port 8888 on every address; change api.host and api.port if that doesn't suit you.

The frontend​

cd frontend
npm ci
NODE_OPTIONS="--max-old-space-size=8192" npm run build

The build ends up in frontend/.output/. Start it with the backend's address:

NUXT_BACKEND_URL=http://127.0.0.1:8888 NITRO_PORT=3000 node .output/server/index.mjs

Then put a reverse proxy in front of port 3000.

Keeping it running​

Run both as services of your system, for example with systemd, and restart them after an upgrade. To upgrade, pull the new code, build both again, and restart. See upgrading.