3.1 KiB
lab
Introduction
The lab is a lightweight account book app hosted by yourself. It can be deployed on almost all platforms, including Windows, macOS and Linux on x86, amd64 and ARM architectures. You can even deploy it on an raspberry device. It also supports many different databases, including sqlite and mysql. With docker, you can just deploy it via one command without complicated configuration.
This project is still under construction.
Features
- Open source & Self-hosted
- Lightweight & Fast
- Easy to install
- Docker support
- Multiple database support (sqlite, mysql, etc.)
- Multiple os & architecture support (Windows, macOS, Linux & x86, amd64, ARM)
- User-friendly interface
- Desktop (planning) and mobile support
- Almost native app experience (for mobile device)
- Two-level account & two-level category support
- Plentiful preset categories
- Searching & filtering history records
- Data statistics
- Dark theme
- Multiple currency support & automatically updating exchange rates
- Two-factor authentication
- Application lock (WebAuthn support)
- Data export
- Multi-language support
Screenshots
Mobile Device
(Coming soon...)
Installation
Ship with docker
Visit Docker Hub to see all images and tags.
Latest Release:
$ docker run -p8080:8080 mayswind/lab
Latest Daily Build:
$ docker run -p8080:8080 mayswind/lab:latest-snapshot
Install from binary
Latest release: https://github.com/mayswind/lab/releases
$ ./lab server run
The lab will listen at port 8080 as default. Then you can visit http://<YOUR_HOST_ADDRESS>:8080/ .
Build from source
Make sure you have Golang, GCC, Node.js and NPM installed. Then download the source code, and follow these steps.
# Build backend binary file
$ GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -a -v -i -trimpath -o lab lab.go
# Build frontend static files
$ npm install
$ npm run build
# Copy files to target path
$ cp lab <target>/lab
$ cp -R dist <target>/public
$ cp -R conf <target>/conf
All the files will be placed in <target> directory.
For more information about how to install lab, please visit our documentation.