File management web application.
The name filemanager is a placeholder name, it should probably be changed to something cooler.
Currently developed and tested on Linux, specifically Ubuntu 22.04.
- Web GUI with file management functionality.
- Browse directories in gallery or table view.
- View file details with support for various file formats.
- Looks and feels like a desktop application.
- Multiple users and multiple main directories.
- Simple configuration via yaml config file.
- Security is built with established and proven libraries.
- Really fast and lean.
- Deployed as a single stand-alone self-contained compiled binary executable file.
- Listens on a single port using HTTP.
- Serves web app and API on the same port, under
/
and/api
respectively. - Backend is built with Golang, and Chi.
- Frontend is built with JavaScript, Svelte, and SvelteKit.
For now, download and compile source code (see Development, it's very straight forward).
Languages and tools are installed via mise.
Install mise.
curl https://mise.run | sh
Install requirements with mise.
mise install
Install go packages.
cd api
go get
Install npm packages.
cd web
npm install
Run dev servers.
cd api
just
cd web
just
Build production executable.
just build
Run production executable.
It listens on 127.0.0.1:4000.
The example config file has one user with username demo and password demo, and one file area for the path /tmp
.
./main -config config.yml