#####start backend:
$ npm run start:local
This will create a local mongodb with a database name lunch-app-database
and a user admin
with the password admin
.
It will also start the backend including the local mongodb instance.
The backend will be available on http://localhost:3005
It can happen that the backend throws an error at the first connect to the mongodb,
in this case the backend tries to reconnect.
#####start frontend:
- to start the frontend you must checkout an other repository:
$ git checkout https://github.com/m4rc0z/lunch-admin-app.git
- to start the frontend see instructions for local setup inside the readme of the frontend repository
Build container:
$ docker build -t m4rc0z/lunch-app-backend .
Run container:
$ docker run --env-file ./env.list -p 127.0.0.1:3005:3005/tcp -it m4rc0z/lunch-app-backend:latest
Connect with: http://localhost:3005
Stop the container:
$ docker stop --time 0 $(docker ps -q --filter ancestor=m4rc0z/lunch-app-backend)
Debug container:
$ docker run --entrypoint "/bin/sh" -it m4rc0z/lunch-app-backend:latest
Ideally one should use an alpine container, e.g. FROM node:12.13.0-alpine
, but this gives a warning:
Sending build context to Docker daemon 419.3kB
Step 1/7 : FROM node:12.13.0-alpine as builder
...
mongodb-memory-server: checking MongoDB binaries cache...
Unknown linux distro Raspbian, falling back to legacy MongoDB build
mongodb-memory-server: binary path is /usr/src/app/node_modules/.cache/mongodb-memory-server/mongodb-binaries/4.0.3/mongod
...
This is a known issue, see:
for reference.
Alternatively use a mongo container, e.g.:
FROM mongo:4.2.1-bionic
...
But note the size difference:
$ docker images
node 12.13.0-alpine 052e3dbb343f 3 days ago 80.9MB
mongo 4.2.1-bionic 191b28dbfefe 33 hours ago 363MB