Which installation method is best for me?

This is a by-OS breakdown of how you can install the software on your machine.

As LRR is a server app first and foremost, its setup is a bit more complex than your usual Desktop application. However, a lot of work as been done behind the scenes to make it easy!

Look at the methods below for something that fits your OS and usage.

macOS/Linux: Homebrew

Homebrew allows you to quickly setup LRR on Unix systems without relying on containers or modifying your preinstalled system libaries. The package manager is mostly designed for macOS, but it can also be used to install the server on Linux machines. 🐧

brew

Windows 10: LRR for Windows

This method works on 64-bit editions of Windows 10 only.

Versions under v1809 (October 2018 Update) will probably not work properly. v1803 might work, but you're wading uncharted waters.

win10

I provide a dedicated installer for Windows machines as of 0.6.0, complete with a GUI and autostart.

Linux/macOS/Windows 10: Docker

Taking a page from sysadmin books, you can easily install LRR as a container with Docker. They're lightweight, easy to update, and automatically built/tested. I recommend this for NAS setups!

Linux/macOS: Installing from Source

Installing from source is a more involved procedure, but it does put you in full control and able to hack up the app's files as you wish.

Older Windows: Legacy Docker Toolbox or Vagrant

I really hope you guys don't do this

At this point the only solutions I have to give you are basically glorified VMs.

You can either download the Legacy Docker Toolbox and follow the Docker tutorial linked above, or try Vagrant. I provide no support for either of these methods.

WARNING: Reverse Proxies

A common post-install setup is to make requests to the app transit through a gateway server such as Apache or nginx. If you do so, please note that archive uploads through LRR will likely not work out of the box due to maximum sizes on uploads those servers can enforce. The example below is for nginx:

http {
client_max_body_size 0; <----------------------- This line here
}
server {
listen 80;
server_name lanraragi.[REDACTED].net;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
index index.php index.html index.htm;
server_name lanraragi.[REDACTED].net;
client_max_body_size 0; <----------------------- And this line here
# Cert Stuff Omitted
location / {
proxy_pass http://0.0.0.0:3000;
proxy_http_version 1.1;
<----- The two following lines are needed for batch tagger support with SSL ----->
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}