Skip to content
/ gagu Public

A web-based file management system

Notifications You must be signed in to change notification settings

Chisw/gagu

Repository files navigation



GAGU (Alpha)

Website: https://gagu.io

A web-based file management system

Manage files on your different devices in the browser

Works on Windows, macOS, Linux and Android/Termux

Inspired by Android/X-plore and NPM/anywhere



📦 Getting started

GAGU is published on NPM, so install Node.js on your device first.

You need to install ffmpeg and GraphicsMagick to support thumbnail api.

# Install with NPM
$ npm i -g gagu

# Show help info
$ gagu -h

Default admin:

Username: gagu
Password: 9293

Docs here

🛠 Development

Only the yarn.lock file is uploaded in the project, so using yarn instead of npm to install dependencies can ensure that our running results in the development environment are consistent.

GAGU app code consists of two parts: ./gagu-back-end and ./gagu-front-end.

# Back-end
$ cd gagu-back-end
$ yarn
$ yarn start:dev

# Front-end
$ cd gagu-front-end
$ yarn
$ yarn start

GAGU website code is in ./gagu-website.

$ cd gagu-website
$ yarn
$ yarn start

🔨 Build NPM package

  1. Update following version info:
  • version field in ./package.json
  • GAGU_VERSION in ./gagu-back-end/src/utils/constant.util.ts
  • version field in ./gagu-website/.env
  1. Sync dependencies in ./gagu-back-end/package.json to ./package.json.

  2. Run build script npm run build:npm, refer to ./build-npm.sh.

  3. Dry run publish, update package size info, publish to NPM.

📜 License

The MIT license.