This is a CMS system built on Keystone.js for Nchu library multi-media website
Here is the technical stack used in this project:
- linux based OS
- use terminal to operate
- nodejs
- keystone.js
- docker (for easier deployment and management)
- docker-compose
Get the source of this project, by git for example:
git clone https://github.com/David-Tsui/NCHU-lib-Multimedia.git
Or zip/tar.gz of this project.
You may need to install docker and docker-compose first
to build the env in docker, just
cd path/to/this/project
cp .env.example .env
cp docker-compose.example.yml docker-compose.yml
docker-compose build
cd path/to/this/project
docker-compose up -d main
cd path/to/this/project
docker-compose ps
cd path/to/this/project
docker-compose logs
cd path/to/this/project
docker-compose kill
cd path/to/this/project
docker-compose run backup
the backup directory will be stored at ./backup/YYYYMMDDhhmmss/nchu-lib
cd path/to/this/project
docker-compose run restore ./backup/YYYYMMDDhhmmss/nchu-lib
cd path/to/this/project
git pull # or any means to get the latest code
docker-compose build
docker-compose kill
docker-compose up -d main
Get the code first
git clone https://github.com/David-Tsui/NCHU-lib-Multimedia.git
cd ./NCHU-lib-Multimedia
Copy config from example
cp .env.example .env
cp docker-compose.dev.yml docker-compose.yml
run the dev env, the code is shared between the container and the host
docker-compose run --rm --service-ports main
inside the dev env,
# to run server (Ctrl-c to close server):
npm run dev
# to compile assets (js, css):
npm run assets:compile