Deployment
The Dashboard server is designed to be run as a number of Docker containers using Docker Compose.
All files needed for deployment are located on our GitHub.
Clone the repository with:
git clone https://github.com/hilstertestingsolutions/dashboard-deployment.git
Navigate to the folder containing the docker-compose.yml
.
Edit docker-compose.yml
according to your needs.
Warning
By default the activation key for the community license is used. If you need a commercial license for your Dashboard, please contact us to get one.
Running Dashboard
Start the Dashboard server using:
docker compose up
This will collect all the necessary containers from Dockerhub and start the Dashboard server.
Running a Specific Dashboard Version
To run a specific Dashboard version, modify the following line in docker-compose.yml
by replacing
latest
with your desired version.
image: hilster/dashboard:latest
For example, to run Dashboard-1.2.5
use:
image: hilster/dashboard:1.2.5
Update Dashboard
To use the to the newest version of Dashboard, run
docker compose pull
Authentication
On the initial run with an empty database, a user root
with password root
is created automatically.
You should immediately change the password using the command line interface by running
dashboard -u root -p root https://dashboard.server passwd
Read the command line interface documentation to learn how to add other users, projects and roles.
Learn how to reset root’s password.
Projects, Users and Roles
You can create projects and users in the
Dashboard, and assign roles for users in those projects.
The available roles are user
and admin
.
Users with the role user
can view all data of projects the role is applied for,
but they’re not allowed to upload requirements, delete reports or manage tokens.
Users with the admin
role have full access to a project.
Systemd
On Linux systemd
is a popular daemon to start and stop services.
To run Dashboard as a systemd service, create and edit dashboard.service
to fit your needs.
[Unit]
Description=Dashboard
Requires=docker.service
After=docker.service
[Service]
WorkingDirectory=/services/dashboard
ExecStart=/usr/bin/docker compose up
ExecStop=/usr/bin/docker compose down
TimeoutStartSec=0
Restart=always
RestartSec=20s
[Install]
WantedBy=multi-user.target
To install the service, run
cp dashboard.service /etc/systemd/system/dashboard.service
systemctl daemon-reload
systemctl enable dashboard.service
service dashboard start
To view logs of Dashboard running as a service, use
journalctl -u dashboard.service -f
Workers
The number of workers for the front-end and back-end can be altered in dashboard/dashboard.yml
by changing workers
to an appropriate value.
In the back-end, a value of workers: 0
means that one worker is started per cpu.
All other positive integer numbers state the actual number of processes to be started.
Proxy
nginx
is used as a proxy server. You can change nginx/default.conf
to meet your needs, e.g. add
SSL certificates, etc.
Backup
To create a backup of the Dashboard database, run the following command while the server is running:
./backup_database.sh
or manually
docker compose exec mongodb mongodump
The database contents will be dumped to the data/dump
folder.
Restore
To restore the Dashboard database from a backup, run the following command while the server is running:
./restore_database.sh
or manually
docker compose exec mongodb mongorestore
The database contents will be restored from the data/dump
folder.