Stellection is a tag-based file organization system geared toward digital asset curation.
- Language: JavaScript (with a little bit of TypeScript)
- Web Framework: React (through create-react-app)
- Component Library: Geist-UI
- API Requests: SWR
- Monorepo & Building: Turbo
- Deployment: Docker & Docker Compose
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.
- Install Docker Desktop
- 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
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
- Find stellection-prod compose stack
- Update Stack
- Compose up