Skip to main content

Requirements

What you need before you start, and what you can add later.

What a Lyna instance is made of​

PartWhat it does
BackendThe Discord bot and the HTTP API, in one Java process. Listens on port 8888.
FrontendThe web app. Serves the pages and passes every /api/ request on to the backend. Listens on port 3000.
PostgreSQLHolds everything. Lyna sets up its tables itself.

Only the frontend faces the internet. The backend and the database stay on an internal network.

You need​

  • Docker with Compose, or Java 25 and Node.js 24 to run from source.
  • PostgreSQL. The test suite runs on PostgreSQL 17.
  • A domain and HTTPS. Discord sign-in, sign-in cookies and webhooks need a public https:// address. A reverse proxy in front of the frontend does that.

You can add​

Each of these is optional and can be set up later.

ServiceWhat it gives youSet up on
A Discord application with a botRoles from licenses, slash commands, Discord sign-in, release postsDiscord
A Sonatype NexusDownloads of your buildsNexus
A mailboxLicenses from PayPal receipts, mails to buyers, address checksMail
Ko-fiLicenses from Ko-fi purchasesKo-fi
GitHubREADMEs on product pages, release posts in DiscordGitHub

Without a bot, Lyna still runs: the web app, accounts, licenses and downloads all work. Only the Discord side is missing, and only operators can open the admin area.