FileManager is a simple project to store your files. You can upload any file by giving a URL, or upload it directly on the server. Also you can create new directories in a given directory. More features are going to be implemented.
It's built with AdonisJS, Inertia, ReactJS, and TailwindCSS.
You can also use it as a test project to know how to use ReactJS and TailwindCSS alongside with Inertia on top of AdonisJS. It's also a good practive for using pm2 as a node process manager and using mysql running with docker (docker-compose).
- node >= 16
- docker and docker-compose plugin
- (optional) pm2 installed globally
npm insatll -g pm2
run
npm install
or if you have yarn installed
yarn
create the env file
cp .env.example .env
change the environment variables
then run the database service (mysql)
docker compose up -d
- if you have already installed mysql, then you don't need to run the code above.
migrate the database schemas
node ace migration:run
- for more information read on AdonisJS
for development environments run
yarn dev
or directly run the adonis ace command
node ace serve --watch
for production environments
yarn build
or using adonis ace command
node ace build --production
you should copy the env file into build directory
cp .env build/.env
then cd
to the build directory, and
yarn install --production
run
node server.js
you can use pm2 to manage the node processes instead of running the command node server.js
for production.
in the root directory of the project run
pm2 start ecosystem.config.js
for more information and tutorials see https://github.com/
Thank you for considering contributing to the project! You can fork the repo and make your changes on a new branch then send a pull request. Any suggestions and pull requests would be appreciated <3.