Warning
Consider speaking with someone about the architecture because their documentation is for the most outdated or broken or doesn't exist. There's a guide for setting this up and it's the same to mine for the most part. Backend and frontend also seem to be built for use with a proxy by default.
All credentials e.g.
ROCKET_CHAT_ADMIN_TOKEN
forschulcloud-server
are expected to be set as environment variables
Presets
- Working MongoDB instance (db version v3.6.3 used)
- latest node instance (v14.8.0 used)
- latest npm version (6.14.7 used)
- nodemon:
npm i -g nodemon
(globally to enable deploy with e.g.systemd-unit
)
This was tested on Ubuntu 18.04.4 LTS Server version with fresh multipass vm (2 cores, 4 GiB of RAM, 20G disk). This is not enough to run this in production) as root. Executed in previously created /var/www/
. You may also need to adjust ufw
or iptables
.
School cloud core server
- Clone from Github:
git clone git@github.com:hpi-schul-cloud/schulcloud-server.git
- enter directory:
cd schulcloud-server
- execute
npm install
- execute
npm run setup
(may throw errors. Needs to be tested/ investigated) - execute
npm run migration up
(apply database migrations/ you may have to fiddle as it doesn't apply automatically) - execute
npm run startd
to start backend feathers server.
Now there should be a static feathers welcome page at http://{ your server ip }:3030
and a bunch of infos about missing AWS config etc.
This server also enables an interface for docs under http://{ your server ip}:3030/docs
.
Configs are in
schulcloud-server/config/
as json files
School Cloud Frontend (nuxt)
- Clone from github.
git clone git@github.com:hpi-schul-cloud/nuxt-client.git
- enter directory:
cd nuxt-client/
- execute
npm install
- Build frontend (requires >1GB RAM):
npm run build
- execute
npm run start:nuxt
to start nuxt server. This can requireFALLBACK_DISABLED=true
as environment variable
This is where I encountered a redirect loop that didn't event throw debug messages. You should find it when trying to reach the nuxt frontend with your browser.
Sample (available for 3 days)