Overflows is a light weight job scheduler for your work, help you manage your task with orders.
Both Windows and Linux could use binary files with certain parameters:
$ ./overflows -h
USAGE
overflows [OPTION]
OPTION
-p, --port port number
-m, --mode run mode, choose from [standalone, server]
-h, --help more information about this command- port: Used to specify the port number of the server, by default it's
8000. - mode: Used to specify the run mode of the server, choose from
standaloneandserver, by default it'sstandalone.
Standalone mode would use SQLite as database and manage database automatically, while server mode would use PostgreSQL as database and you need to migrate database schema in the manifest folder.
Frontend is using Vue3 and Vuetify. Build frontend like a normal vue project.
cd frontend
npm install
npm run buildThe default output directory is in backend folder, you can change it to your own directory if you don't need to build the backend with standalone mode.
The language used in backend is Go, and the overall framework is GoFrame. To enable standalone mode, we also introduce systray to build a tray app for you. For database schema management, we use Atlas to manage and apply migrations, if you want to use other tools, you could also find the original tables in backend/manifest/database folder.
To build the backend, you need to install Go and GoFrame Cli tool first.
go install github.com/gogf/gf/cmd/gf/v2@latestAnd then change the configuration file in backend/manifest/config/. You can find example configurations there, choose or modify one and change its name to config.yaml. The configuration file would be built into the binary by default, if you don't want it, you can change the build configuration in hack/config.yaml and setup a configuration file in where the built binary file is used, the binary file would read from that automatically.
Linux and windows have some different build configurations, you need to choose it in hack/config.yaml. After that, you can use gf to build the backend.
cd backend
gf buildYou will find the binary file in backend/temp folder.
Databases used for this project are SQLite and PostgreSQL. The standalone mode would use SQLite as database and basically you don't need to manage it manually. If you want to use server mode, you need to prepare a PostgreSQL server with the same settings in config.yaml or set your own database and change the configuration.
- Default database:
overflows - Default user:
overflower - Default password:
Passw0rd
Then you can install atlas and use it to manage and apply migrations, if you are not using the default database, you may also need to change the backend/atlas.hcl file.
cd backend
atlas migrate apply --env local- When using
standalonemode locally, build the static files package by runninggf buildinbackendfolder with the same process likegf builddo. Otherwise, file manager can not get migration files.
- Selfhost mode with SQLite
- Server mode with Postgre or Mysql
- Casbin RBAC
- Token login and session login
- Stack sharing
- Login page
- User list page
- Own page
- Admin setting page
