Home

Awesome

The KNESTS Stack

The above libraries and frameworks are the best ones (in my opinion, of course) regarding my desires at the moment of starting this project.

It's just a simple (albeit huge) coincidence that 3 of them sound NEX-ish. It would've been a shame not to name the stack similarly.

I wanted a NodeJS/Typescript based stack that would:

About

If interested, read about the whys and the objectives of the Knests Stack on my blog.

How it looks

It contains the free admin dashboard theme from devias.io.

 "Simple Login with Email" Signup Dashboard Big Responsive Dashboard

Getting started

Only needed to be run first time:

$ docker network create traefik-public
$ docker network create knests-dev
`rm -rf client/dist && docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build -V --force-recreate`

Note: The rm -rf client/dist part is needed (for now, until we have a better solution) for deleting the files nextjs generates.

Go to http://localhost:8080/api/migrate to have the latest migrations applied. Go to http://localhost:8080/signup and create your first user.

Make it yours

Search and replace knests with your own project name and you'll have a project with:

Debugging tips & tricks

Docker & docker-compose cheatsheet

Docker image re-building from scratch

There are moments in the dev/test flow when the docker images need to be rebuilt (after installing new packages for example). AAdding the --build parameter to the docker-compose command will usually be enough. For example:

rm -rf client/dist/ && time docker-compose -f docker-compose.yml -f docker-compose.test.yml up --build --abort-on-container-exit --renew-anon-volumes --force-recreate

When that's not enough, try one of the things below.

Docker caching

Docker can be surprising at caching stuff. Caching anonymous volumes was totally unexpected for me.

Read the docs of all the commands that you intend to run on your systems, because these can and will have side effects on your systems!

Here are some commands that clear all kind of caches:

Documentation

There is some frontend / backend documentation written so you can debug things more thoroughly when they don't go as expected.

Road map

Wanna Help?