LANraragi
GithubDemoDocker HubDiscord Server
Nightly Release
Nightly Release
  • LANraragi Documentation
  • Installing LANraragi
    • ❓Which installation method is best for me?
    • 🪟LRR for Windows (Win10)
    • 🍎Homebrew (macOS)
    • 🐳Docker (All platforms)
    • 🛠️Source Code (Linux/macOS)
    • 🐧Community (Linux)
    • 👿Jail (FreeBSD)
  • Basic Operations
    • 🚀Getting Started
    • 📚Reading Archives
    • ✒️Adding Metadata
    • 🔎Searching the Archive Index
    • 📈Statistics and Logs
    • 🖌️Themes
  • Advanced Usage
    • 🦇Batch Operations
    • 📂Categories
    • ⬇️Downloading Archives
    • 💾Backup and Restore
    • 📱Using External Readers
    • 🌐Network Interface Setup
    • 🕵️Proxy Setup
    • 📏Tag Rules
  • Developer Guide
    • 🏗️Setup a Development Environment
    • 🏛️Architecture & Style
    • 🈁Translating LANraragi to other languages
  • API Documentation
    • 🔑Getting started
    • Search API
    • Archive API
    • Database API
    • Category API
    • Tankoubon API
    • Shinobu API
    • Minion API
    • Miscellaneous other API
  • Writing Plugins
    • 🧩Getting started
    • Login Plugins
    • Metadata Plugins
    • Downloader Plugins
    • Generic Plugins ("Scripts")
    • Code Examples
Powered by GitBook
On this page
  • Quick rundown
  • Quick setup
  • Using Github Codespaces
  • Using Docker Compose

Was this helpful?

  1. Developer Guide

Setup a Development Environment

I'd like to interject for a moment

PreviousTag RulesNextArchitecture & Style

Last updated 1 year ago

Was this helpful?

Quick rundown

LRR is written in Perl on the server-side with the help of the framework, with basic JQuery on the clientside. npm is used for JavaScript dependency management and basic shortcuts, while cpanm is used for Perl dependency management.

As of v.0.5.5, a basic Client API is available for you to write clients that can connect to a LANraragi instance.

Quick setup

Once you've got a running LANraragi instance, you can basically dive right into the files to modify stuff to your needs. As you need raw access to the files, a native OS install is needed! I recommend a Linux or WSL install, as the morbo development server only works on Linux.

Said development server can be ran with the npm run dev-server command. The major difference is that this server will automatically reload when you modify any file within LANraragi. Background worker included!

You'll also probably want to enable Debug Mode in the LRR Options, as that will allow you to view debug-tier logs, alongside the raw Mojolicious logs.

Using Github Codespaces

The LRR Git repository contains configuration for , so you can easily spin up a development VM using that. Deployment might take some time, as the VM will download all dependencies.

Using Docker Compose

You can use for quickly bringing up a LANraragi instance suitable for development. Run docker compose up -d inside tools/build/docker and hack away!

🏗️
Mojolicious
devcontainer.json
Codespaces
Docker Compose