Repository navigation
0.0.1
Local Drive is a private alternative to Google Drive that runs on a computer you own. Your files stay on your machine. There is no account to make with anyone, no subscription, and no company in the middle.
This is the first release. It works, and it is also version 0.0.1, so keep a backup of anything you care about rather than trusting this as the only copy of it.
Install
Linux
wget https://github.com/MultiX0/LocalDrive/releases/latest/download/server
chmod +x server
./server
Windows, in PowerShell
Invoke-WebRequest https://github.com/MultiX0/LocalDrive/releases/latest/download/server.exe -OutFile server.exe
.\server.exe
That is the whole install. One file, no runtime, nothing to configure first. It asks a few questions, generates every secret it needs, and starts. It also offers to put itself on your PATH and to keep running after a reboot, so after the first run you type localdrive from anywhere.
On a Raspberry Pi or an ARM server use server-arm64 instead of server.
Then install an app
The server has no browser interface in this release. Install one of the apps and point it at the address setup printed:
| Device | Download |
|---|---|
| Android | localdrive-client.apk |
| Windows | localdrive-client-setup.exe, or localdrive-client-windows.zip for a folder you can carry |
| Linux | localdrive-client-linux.tar.gz |
The first account to sign up becomes the admin. That is you. After that the server refuses to create another one that way.
Which server file
| Running the server on | Download |
|---|---|
| Linux, most machines | server |
| Linux on ARM, such as a Raspberry Pi | server-arm64 |
| Windows | server.exe |
What it does
- Files, folders, versions, and a trash that holds things for 30 days
- Share a link with anyone, with an optional password, an optional expiry, and view only or download. Change any of that later without the link changing
- Share with someone on your server directly, with no usernames to type
- A photo and video gallery, grouped by month and ordered by when things were taken rather than when they were uploaded
- Uploads survive a dropped connection and resume from the exact byte they stopped at
- Plug in a USB drive and use it as storage, on Linux
- A new device is held for approval before it gets in, and a correct code from your authenticator lets one straight through, so a lost phone is not a locked account
- Two factor authentication, required on admin accounts and optional on the rest
- English and Arabic, each with its own typeface and full right to left layout
Being an admin means you manage accounts, storage and settings. It does not mean you can read anyone else's files.
HTTPS
Plain HTTP is the default, because no certificate authority issues certificates for an address on a home network.
Set LD_DOMAIN to a domain pointing at the machine and the binary requests a real certificate and renews it on its own, with no proxy and nothing else to install. That needs ports 80 and 443 reachable, since those are the only two Let's Encrypt connects back on.
The port keeps answering plain HTTP for the machine's own addresses at the same time, so setting a domain does not cost you the way in from your own network.
Worth knowing before you install
- No browser interface. The server serves the API and the apps. A browser UI exists in the source but is not built or shipped in this release.
- No macOS or iOS builds. Both build from source; neither is published here. The macOS server is two commands:
cd server && go build ./cmd/localdrive. - The Windows installer is not code signed, so Windows will warn about an unknown publisher.
- USB drive management needs Linux. On Windows and macOS, point Local Drive at a folder instead.
- Video thumbnails need
ffmpeg. If it is missing the server downloads one on Linux and Windows, or you can install it yourself and setLOCALDRIVE_FETCH_FFMPEG=false.
Verifying a download
SHA256SUMS lists a hash for every file here.
sha256sum -c SHA256SUMS
MIT licensed. Documentation is at https://localdrive.iprog.dev/docs and in the repository under docs/.