Skip to content

A powerful image uploader with user-friendly API and user-management out of the box.

License

Notifications You must be signed in to change notification settings

GoofyGoofsterClub/imagination-server

Repository files navigation

Imagination Server

A file server with built-in user and file management, built on NodeJS.

Dependencies

  1. Docker or Docker Desktop, if you are on Windows
  2. NodeJS (Tested on 19+)
  3. PostgreSQL (Tested on 16.4)

Contributing

Note

This codebase is feature-locked and will only be modified when a feature-breaking bug is discovered. Please check out the new version of media server when it's out!

Imagination server welcomes all contributors, but keep in mind that the project is mostly finished and no new features are being considered as of now. If you wish to add a new section, feature, or change design, please open an issue first, before creating a pull request, to insure that you don't waste your time for nothing.

For code standards use the config provided for Prettier.

Installation

With Docker

$ git clone https://github.com/LMNYX/imagination-server.git
$ cd imagination-server
$ cp .example.env .env
$ docker compose up -d

Without Docker

Prerequisites include PostgreSQL and NodeJS being installed on the machine.

$ git clone https://github.com/LMNYX/imagination-server.git
$ cd imagination-server
$ cp .example.env .env
$ set -o allexport && source .env set && set +o allexport
$ node run build # or yarn build
$ node run start # or yarn start

After installation

After you started the server, you will need to open the service in your browser and set username for root user and title for web pages.

When you complete the setup and press the button to do so, you will be displayed the key for access to your account. It will not be displayed again after that.

When you're ready refresh the page and you will be able to access the service's functionality.

Troubleshooting

Server crashing after around 10 seconds (without docker)

Environment variables were not created, most likely. To fix, run this:

$ cp .example.env
$ set -o appexport
$ source .env set
$ set +o allexport

If this didn't help, check if your PostgreSQL credentials are correct in the .env file.

Server crashing after around 10 seconds (with docker)

Environment variables are incorrectly configured, check .env, or, most likely, expose port is already used.

API endpoints in /docs are not correct.

Please run node generate_docs.js if you have modified API endpoints to re-generate the JSON Documentation.

If you get a permissions error, allow writing and reading of the file public/api.json

About

A powerful image uploader with user-friendly API and user-management out of the box.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •