Compare commits

..

6 Commits

Author SHA1 Message Date
63a386416a removing console.log 2022-06-10 12:43:51 +00:00
f180c96d80 removing console.log 2022-06-10 12:43:16 +00:00
e4f311b8a6 legacy instructions changes 2022-06-10 12:37:57 +00:00
08887dcf59 dockerfile optimization 2022-06-07 03:46:26 +00:00
7cac0a0f5f useless required 2022-06-05 14:40:49 +02:00
4134cab781 instructions 2022-06-05 14:31:09 +02:00
4 changed files with 66 additions and 15 deletions

View File

@ -15,11 +15,10 @@ FROM alpine:latest as main
RUN apk add --no-cache nodejs npm
COPY --from=builder /mydraftcc-nodejs-server/server /
COPY --from=builder /mydraftcc-nodejs-server/ui/build /public
RUN npm install
# install and volumes mounpoint logs data
RUN npm install \
&& mkdir /data /logs
# Volumes mounpoint
RUN mkdir /data /logs
##VOLUME logs data
# run with user/group 1000
USER 1000:1000
# exposed port

View File

@ -1,26 +1,81 @@
# Minimalist Nodejs server for mydraft application (https:/mydraft.cc)
# Minimalist Nodejs server for mydraft application
## Installation
see :
- https:/mydraft.cc
- https://github.com/mydraft-cc/ui
**WARNING** :
This code is not a fork of "mydraftcc/ui" (https://mydraft.cc), the source code of "mydraftcc/ui" must be available at build time (https://github.com/mydraft-cc/ui).
Once the code is retrieved, i apply patches to make the xxx application compatible with the nodejs API server, and (optional) remove the code related to "UserReport".
Once the code is retrieved, i apply patches to make the "mydraftcc/ui" application compatible with the nodejs API server, and (optional) remove the code related to "UserReport".
### No docker
## Installation
Legacy or Docker
### Legacy
```
# get sources
git clone https://github.com/mydraft-cc/server-node.git --recursive
cd server-node
# Required
./patch.sh
# if you want to remove UserReport from the application :
#./patch.sh "optional"
cd server && npm install && ./start.sh
# ./patch.sh "optional"
# execute once only to install npm packages and to build ui
cd ui && npm install && npm run build && mkdir ../server/{public,data} && cp -R build/* ../server/public/ && cd ..
cd server && ./start.sh
#You could set environment parameters in server/start.sh
```
### Docker
## Execute
To build image :
```
docker build --no-cache --force-rm -t mydraftcc-nodejs-server .
```
if you want to remove UserReport from the application, add `--build-arg PATCHOPTIONS=optional` :
```
docker build --build-arg PATCHOPTIONS=optional --no-cache --force-rm -t mydraftcc-nodejs-server .
```
## File webpack.config.js-forlocaldeveloppementwithserver
Copy this file to "ui/config/webpack.config.js" for debug session. All API request will be sent to the localhost:4000 server...
**You need** to apply "patch.sh" before debugging UI with the nodejs server.
```
git submodule update --init
cp webpack.config.js-forlocaldeveloppementwithserver ui/config/webpack.config.js
./patch.sh
cd ui && npm run start
## start your debugging session
```
## To use the application
Once your server is started, just open your favorite Browser (firefox) and enter http://[server Ip address]:4000/
## Swagger
pay **ATTENTION**
API documentation could be reached at [your server]:/api-docs/
Very usefull to debug API server
Start the server, and call the page /api-docs, play with API
```
./start.sh
# Open browser, call http://localhost:4000/api-docs/
```
## Security
As you can see, server is not protected by login/password, no TLS transport. You should use it as a personal service.
If you decide to expose it on internet, you must installed this service behind reverse proxy (haproxy, nginx) with TLS,
**and monitor volume space used**...
enjoy+++ Damien

View File

@ -19,7 +19,6 @@ class HelperXhr {
*/
static setSettings(req) {
let obj = {};
console.log(req);
try {
if (req.method.match(/POST|PUT/i)) {
obj = Object.keys(req.body).length > 0 ? req.body : {};

View File

@ -8,7 +8,6 @@ const router = express.Router();
const HelperXhr = require("HelperXhr");
const Libsecurity = require("Libsecurity");
const fs = require("fs");
const path = require("path");
//Dir storage
const datadir = __dirname + "/data";
@ -23,7 +22,6 @@ router.post("/", async function (req, res, next) {
try {
//check data received
let xhr = HelperXhr.setSettings(req);
console.log(xhr);
if (Array.isArray(xhr) && xhr[0].payload.diagramId) {
const id = xhr[0].payload.diagramId;
if (id) {