fix(start): change the way the app is launched
* And updated README accordingly
This commit is contained in:
parent
033d01e1cf
commit
0ef46fea2f
@ -35,4 +35,4 @@ COPY scripts ./scripts
|
||||
COPY --from=base /opt/app/dist ./dist
|
||||
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT [ "npm", "run", "start:prod-no-build" ]
|
||||
ENTRYPOINT ["node", "scripts/server.js", "--mode=production"]
|
||||
|
16
README.md
16
README.md
@ -1,7 +1,7 @@
|
||||
# whiteboard
|
||||
This is a lightweight NodeJS collaborative Whiteboard/Sketchboard witch can easily be customized...
|
||||
|
||||
![start](https://raw.githubusercontent.com/cracker0dks/whiteboard/master/doc/start.png)
|
||||
![start](./doc/start.png)
|
||||
|
||||
## Demowhiteboard ##
|
||||
[HERE](https://cloud13.de/testwhiteboard/) (Reset every night)
|
||||
@ -34,14 +34,14 @@ You can run this app with and without docker
|
||||
|
||||
## Development
|
||||
|
||||
After you have installed the app, run `npm run start:dev` to lunch the backend and a frontend development server. The website will be accessible on http://locahost:8080.
|
||||
After you have installed the app, run `npm run start:dev` to start the backend and a frontend development server. The website will be accessible on http://locahost:8080.
|
||||
|
||||
## Default keyboard shortcuts
|
||||
Use keyboard shortcuts to become more productive while using Whiteboard.
|
||||
|
||||
They are especially useful if you work with interactive displays such as XP-Pen Artist, Huion Kamvas and Wacom Cintiq. These devices have quick buttons (6-8 buttons and scrolling). By default, the buttons on these displays are mapped to standard Photoshop keyboard shortcuts. Keys can be configured to function effectively in other software.
|
||||
|
||||
The following are predefined shortcuts that you can override in the file [/public/js/keybinds.js](https://github.com/cracker0dks/whiteboard/blob/master/public/js/keybinds.js)
|
||||
The following are predefined shortcuts that you can override in the file [./src/js/keybinds.js](./src/js/keybinds.js)
|
||||
|
||||
Result | Windows and Linux | macOS
|
||||
------ | -------------------- | -------
|
||||
@ -95,9 +95,9 @@ Call your site with GET parameters to change the WhiteboardID or the Username
|
||||
## Security - AccessToken (Optional)
|
||||
To prevent clients who might know or guess the base URL from abusing the server to upload files and stuff..., you can set an accesstoken at server start.
|
||||
|
||||
<b>Server (Without docker):</b> `node server.js --accesstoken="mySecToken"`
|
||||
<b>Server (Without docker):</b> `node scripts/server.js --accesstoken="mySecToken"`
|
||||
|
||||
<b>Server (With docker):</b> `docker run -d -e accesstoken="mySecToken" -p 8080:8080 rofl256/whiteboard`
|
||||
<b>Server (With docker):</b> `docker run -d -p 8080:8080 rofl256/whiteboard --accesstoken="mySecToken"`
|
||||
|
||||
Then set the same token on the client side as well:
|
||||
|
||||
@ -110,9 +110,9 @@ This function allows your users to save the whiteboard directly to a webdav serv
|
||||
|
||||
To enable it:
|
||||
|
||||
<b>Server (Without docker):</b> `node server.js --webdav=true`
|
||||
<b>Server (Without docker):</b> `node scripts/server.js --webdav=true`
|
||||
|
||||
<b>Server (With docker):</b> `docker run -d -e webdav=true -p 8080:8080 rofl256/whiteboard`
|
||||
<b>Server (With docker):</b> `docker run -d -p 8080:8080 rofl256/whiteboard --webdav=true`
|
||||
|
||||
Then set the same parameter on the client side as well:
|
||||
|
||||
@ -127,7 +127,7 @@ Done!
|
||||
|
||||
## Things you may want to know
|
||||
* Whiteboards are gone if you restart the Server, so keep that in mind (or save your whiteboard)
|
||||
* You shoud be able to customize the layout without ever toutching the whiteboard.js (take a look at index.html & main.js)
|
||||
* You should be able to customize the layout without ever touching the whiteboard.js (take a look at index.html & main.js)
|
||||
|
||||
## All server start parameters (also docker)
|
||||
* accesstoken => take a look at "Security - AccessToken" for a full explanation
|
||||
|
@ -7,8 +7,7 @@
|
||||
"scripts": {
|
||||
"build": "webpack --config config/webpack.build.js",
|
||||
"start:dev": "node scripts/server.js --mode=development",
|
||||
"start:prod": "npm run build && npm run start:prod-no-build",
|
||||
"start:prod-no-build": "node scripts/server.js --mode=production",
|
||||
"start:prod": "npm run build && node scripts/server.js --mode=production",
|
||||
"test": "echo \"No tests needed!\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
|
@ -9,8 +9,13 @@ const SERVER_MODES = {
|
||||
|
||||
const args = getArgs();
|
||||
|
||||
if ( typeof args.mode === "undefined" || (args.mode !== "production" && args.mode !== "development")) {
|
||||
throw new Error("--mode=development or --mode=production is expected")
|
||||
if ( typeof args.mode === "undefined") {
|
||||
// default to production mode
|
||||
args.mode = "production";
|
||||
}
|
||||
|
||||
if (args.mode !== "production" && args.mode !== "development") {
|
||||
throw new Error("--mode can only be 'development' or 'production'")
|
||||
}
|
||||
|
||||
const server_mode = args.mode === "production" ? SERVER_MODES.PRODUCTION : SERVER_MODES.DEVELOPMENT;
|
||||
|
Loading…
Reference in New Issue
Block a user