Skip to content
Local Drive
Install

Download and run

One binary. Build it yourself in two commands, or take a prebuilt one.

The server is the product. The apps are just windows onto it.

Everything lives in the server: your files, the accounts, the permissions, the versions, the sharing. Every rule is decided there and enforced there, on every request. This is the piece you install, the piece you back up, and the piece that is actually yours.

The phone, desktop and browser apps hold nothing of their own. They ask the server what exists and show it. Uninstall every one of them and you have lost nothing, because none of them were ever where your files were. Point a fresh one at the same address and everything is there again.

So if you only run one thing, run the server. You can reach it from a browser without installing any app at all.

Get the binary

No prebuilt binaries yet

Local Drive has not cut a tagged release, so there is nothing signed to hand you. Build it from source below. It takes two commands and needs only Go.

Tagging a version builds and attaches everything automatically, so download buttons appear here on their own the moment the first release exists.

Watch the releases page

Or build it yourself

Two commands and about thirty seconds. You need Go 1.25 and nothing else. There is no C compiler in the way, because the SQLite driver is pure Go.

  1. 1

    Get the code

    $ git clone https://github.com/MultiX0/LocalDrive.git
    $ cd LocalDrive\server
  2. 2

    Build it

    $ go build -o localdrive.exe ./cmd/localdrive

    That produces localdrive.exe in the current folder. Move it wherever you like; it has no install directory and no registry keys.

  3. 3

    Check it runs

    $ .\localdrive.exe version

Start the server

  1. 1

    Run it with no arguments

    $ .\localdrive.exe
     
    # double clicking the file does the same thing

    With no arguments it runs setup. It asks five questions: where to keep things, whether to use Docker, which port, whether you have a domain, and an admin username and password.

  2. 2

    Let it generate its own secrets

    You do not write a config file. It creates every secret on first start, mixing fresh randomness with an identifier unique to this machine, and saves them so a restart reuses the same ones. Anything you set in the environment always wins over what it generated.

  3. 3

    Open it

    https://localhost:7443
     
    # it also prints a QR code to scan from a phone

    Your browser warns once that the connection is not private. That is expected with no domain: the server made its own certificate, because no authority on the internet can vouch for a computer in your house.

  4. 4

    Keep it running

    $ .\localdrive.exe status
    $ .\localdrive.exe logs

The commands

The same binary in every mode. It is identical on Windows and Linux; only the way you invoke it differs.

CommandDoes
(none)Set up and start a server. What you run the first time.
initWrite a working configuration without asking anything.
serveRun the server in the foreground, with no Docker.
startStart an already configured server.
stopStop a running server.
restartRestart a running server.
statusShow whether the server is up, and where to reach it.
logsFollow the server log.
backupWrite a backup of the database and the library.
reset-adminReset the admin password on an existing install.
versionPrint the version.

Every command takes --dir to point at a different install, and reads LOCALDRIVE_HOME for the same purpose. Full detail in the quick start.