How to deploy your own instance of InkVisitor
Deploy with Docker
You can use docker to deploy the InkVisitor application
- Install docker.
- Install docker-compose tool.
- Clone | Fork | Download the Inkvisitor repository.
- Prepare
.envfiles for servers listed underenv_filesections. Check the server's README.md and example.env files for more information. - To prepare the necessary configuration files for the client application, you should identify the appropriate environment variables (ENV) under the
build -> argssection and then use them to create the.envfiles. You can see the server's README.md and example.env files to ensure you have included all the necessary configuration information. - Run the database - either as a service or containerized using
docker-compose up -d database - Build app image (will also be done in next step if not available)
docker-compose build inkvisitor(orinkvisitor-<env>). - Run the containerized application with the command
docker-compose up inkvisitor(orinkvisitor-<env>).
Deploy by packages
The InkVisitor codebase consists of three interconnected packages (parts) - the client application, the server, and the database. You can deploy those packages individually if you do not want to use Docker. In each step, make sure to have the appropriate .env.<env> file accessible - see the Readme.md file in the package for more information.
1. Client application
The client application runs on static files - html/css/js + additional assets. These files need to be moved to your HTTP server by:
- Build the frontend app by
npm run build-<env>to create/update thedistfolder - Copy contents of
distfolder to the directory used by your HTTP server.
2. Server
The server is also built in Javascript, using mainly the Node + Express libraries. You need to first build the application, move the build to your server and run it from there.
- Run
yarn run buildto transpile the code. - Move the
distfolder to your server that supports the Node.js environment. - Do
ENV_FILE=<env> yarn run startto run the built application with a loaded.env.<env>file.
3. Database
Follow tutorials on the official page to install RethinkDB on your machine. Then, use the import script to create the database structure and (optional) import some testing data by running `npm run import` and following the information in the prompt.
Firewall
Make sure the ports required by each application are not blocked. Required ports are listed in docker-compose.yml. Examples:
Setup for additional system specific features (reverse proxies etc) are beyond the scope of this readme.
No comments to display
No comments to display