- Docker
- NodeJS
- MongoDB
- FastifyJS
- MongooseJS
- VueJS
- Vue-MC
- Vue-Router
- Tiptap
- SocketIO
- PM2
- Material Design
- Linux
- Docker
- Nginx latest (if you don't use Docker)
- NodeJS > v10.16.0 (if you don't use Docker)
- MongoDB latest (if you don't use Docker)
- Edit config/config.js file with your preferences
const APP_CONFIG = {
port: 3000,
mongoDBURI: 'mongodb://192.168.1.8:27017/reactivecms',
bcryptSaltRounds: 12,
appSecret: 'iCD5e@rx$3-9rR_QZwIW2Dg-Zn^h&heS', // 32 characters
staticUploadPath: 'site-static',
staticUploadPrefix: 'public', // use '/public/' instead of '/site-static/'
uploadDirectory: 'site-static/uploads/',
staticFilesPath: 'static',
staticFilesPrefix: 'website',
sessionMaxAge: 1000 * 60 * 60 * 24 * 3, // 3 days
ipAddressToListen: '0.0.0.0', // 0.0.0.0 for docker container
domain: 'localhost', // localhost \ domain.com
fastifyOptions: {
http2: false,
https: null,
ignoreTrailingSlash: true,
logger: false,
},
socketIOOptions: {
socketIOpingTimeout: 60000,
pingInterval: 10000,
pingTimeout: 5000,
},
emailOptions: {
emailService: 'gmail',
emailAccount: '',
emailAccountPassword: '',
},
}
cd reactive-cms;
sh rcms.sh -h; # you can see all commands for use app with Docker
sh rcms.sh --deployment; # this command download and create images
sh rcms.sh --start-development; # this command create docker containers and run all services
When you use --start-development or --start-production mode, all services are running in each container and you can see the logs using:
docker logs <container id> -f --tail 100
cd reactive-cms;
npm install;
npm run start; # compile dashboard and run server in production mode
npm run server-production; # only run server in production mode
npm run server-development; # run server in development mode and watch for file changes
npm run server-monit; # show all server logs with PM2
npm run server-logs; # show all server logs
npm run server-stop; # stop all server instances
npm run dashboard-development; # compile dashboard in development mode and watch for file changes
npm run dashboard-production; # compile dashboard in production mode
If you don't edit nothing about default ports from config.js
Now enter to: localhost:3000 and fill the setup form.
- Create global environment config for all containers
- Prepare all containers for use docker stack deploy
- Create complete documentation page
Development by:
linkup