-
Notifications
You must be signed in to change notification settings - Fork 9
Home
-
Make sure that some Java JDK is installed (tested on AdoptOpenJDK 8)
-
Install docker:
- Windows / Mac use: Docker desktop
- Linux use: Docker
Additional steps for Windows:
- Make sure that
Hyper-V
is enabled
- Log-in to
Docker Desktop
in Windows tray - Check
Expose daemon on...
property
- Share drive where cogboard was cloned
- Disable
Cloud Experience
WARN: We've discovered that in Docker v 19.03.13 there is a problem with disabling Cloud Experience and this change may not been saved. Always check if it's disabled before building application!
Note: Docker instalation will be available from version 1.0.0.
Note: For development installation go here.
-
Download
cogboard-1.0.0.zip
from latest release. -
Extract
cogboard-1.0.0.zip
-
Optional: Execute the command below if this is the first time use of docker on a machine.
docker swarm init
- Deploy CogBoard Stack
docker stack deploy -c cogboard-compose.yml cogboard
To uninstall stack use: docker stack rm cogboard
command.
Use this approach when developing new features for CogBoard.
- Clone Cogboard repository
git clone https://github.com/Cognifide/cogboard.git
- Execute below command inside the cloned repository:
./gradlew
After successful installation CogBoard should be up and running on localhost
For debugging see Debugging wiki section.
Running Cogboard on different port see Changing default port wiki section.
Note: Only the latest version is supported by updates.
- Uninstall old version
docker stack rm cogboard-local
or
./gradlew undeployLocal
- Follow installation guide.
Configuration persistence is achieved with Docker Volume feature.
- Config files are stored under
<project_root>/mnt/
folder. -
mnt
folder contains:-
admin.json
- in this file setup of administrator is held -
config.json
- in this file setup of boards and widgets is held -
credentials.json
- in this file setup credentials is held -
endpoints.json
- in this file setup of endpoints is held
-
- In order to backup files copy files from
mnt
folder somewhere safe.
Note: Files from mnt/content
folder are not required for backup.
Copy config files mentioned in Backup section to mnt
folder of new instance of Cogboard.
Note: Repository admins only
- Make sure that correct version is set on
master
branch (it should match the version in release draft) - Turn off
master
branch protectionSetting -> Branches -> Branch protection rules
- Open release draft, check if the text needs updates, look for typos - make it look great
- Make sure that tag field has this format: v[version number], example
v1.0.4
- Make sure that release title has this format: [version number], example
1.0.4
- Click
Publish Release
button - Go to the
Actions
tab and check if release sucseeded -
IMPORTANT Turn on
master
branch protection again
Important: There is no mechanism to merge configuration when two admins are making changes to boards and widgets. In order to prevent data lost only one admin should work at one time. When the second admin wants to make changes he needs to make sure that the previous one saved his changes. He should then refresh Cogboard before making his changes.
-
Edit
cogboard-local-compose.yml
-
In the
frontend
service change defaultport
from80:80
toyourNewPort:80
for example8081:80
-
Redeploy Cogboard
Admin can exclude widgets by adding widget names into /mnt/app-config.json
file in excludedWidgets
array.
If You see a similar error while deploying Cogboard:
Failed to deploy 'cogboard Image id: cogboard/cogboard-app': com.github.dockerjava.api.exception.InternalServerErrorException: {"message":"error while creating mount source path '/host_mnt/c/Users/user.name/.workspace/cogboard/mnt': mkdir /host_mnt/c: file exists"
If you recently changed your system password.
Error: Failed to deserialize the V8 snapshot blob. This can mean that the snapshot blob file is corrupted or missing.
Solution: Use npx cypress install --force
command from cogboard\functional\cypress-tests\cypress
folder
In order to bypass the firewall while installing CogBoard try this instruction: Support for proxy configuration might be needed