/Stellection

Tag-based content aggregation, organization, and presentation platform

Primary LanguageJavaScript

Stellection Header Image

Stellection

Stellection is a tag-based file organization system geared toward digital asset curation.

Tech Stack

Frontend

Backend

  • Language: Node.js (with a little bit of TypeScript)
  • Web Server: Express
  • Database ORM: Sequelize

Tooling

Other

Stellection also includes other microservices that accomplish tasks for the backend, such as a machine learning-based tagging engine. These are still a work-in-progress.

Setup

First Time Setup

  1. Install Docker Desktop
  2. Open Docker Desktop, make sure the Docker engine has started
git clone https://github.com/ckhawks/Stellection
cd Stellection
npm run up:build

Run stack with build (in case of changed Dockerfile, docker-compose, or npm packages). You will have to build again if you install any new npm packages into any part of the repository.

DEV: npm run up:build
PROD: npm run up_prod:build

Run stack without build

DEV: npm run up
PROD: npm run up_prod

Run frontend or backend solo for development

npm run frontend
npm run backend

Clean hanging docker containers if you get a docker disk full error

npm run clean:docker

Unraid

I am deploying this to my personal Unraid server. For my own notes, the deployment process is as follows:

ssh unraid
cd /mnt/user/appdata/stellection
git pull

In Unraid dashboard

  1. Find stellection-prod compose stack
  2. Update Stack
  3. Compose up