Install ECIS on Azure
In this document the process is explained to install ECIS on Azure. To run ECIS the following services will be installed
Service | Role |
---|---|
App Service | App service in which the Docker container will run |
Worker VM | Microsoft VM to run CLI processes and to host SOLR |
MySQL | Azure Database for MySQL Flexible Server |
App Service
The system will be deployed using GitHub Actions. Therefore, an action is created in .github/workflows/deploy.yml
Download the Publish profile from App service and save it as a secret in GitHub. The secret is called AZURE_PUBLISH_PROFILE, do the same for the Container registry username and password.
Make sure you connect the app service to the Virtual network and set the connection setting of SOLR_HOST to the internal IP of the worker VM
Worker VM
The worker VM is a Microsoft Virtual machine with the following specifications Choose Debian 11 as OS and let Azure choose the other default settings. The name can be ECIS-worker
but any other name can be chosen as well. Let Azure also create a default VM user. The VM will be created in the same resource
Make sure "Delete public IP and NIC when VM is deleted" is checked. This will make sure the IP is deleted when the VM is removed
Networking and monitoring is not needed Make sure you download the key and save it in a safe place. This key will be used to connect to the VM. The following entry can be created in your .ssh/config
The database can now be connected via sql -u databasename -h 127.0.0.1 -P 3006 -p --ssl-ca=/users/username/.ssh/DigiCertGlobalRootCA.crt.pem
Login to the machine and install the following packages
Install GIT, PHP (CLI), NGINX and Redis
Set timezone on CET
Install SOLR (version number might be higher, can be checked on the Solr Download page)
Change SOLR, so it listens to all interfaces (and not only to localhost)
Change the following settings
Reboot the machine to reload all changes and to test if everything is working
Prevent remote access from non-trusted IP addresses
Clone ECIS SOLR docker repository and reload SOLR (as solr user). Make sure you have set the SSH key as deploy key on the repository
Install source code
Clone the Source code in /home/azureuser/ecis
as azureuser
Create a config file /home/azureuser/ecis/config/autoload/production.local.php
with the following content
Setup daily backup using file in backup script
Mysql
Choose Azure Database for MySQL Flexible Server and let Azure choose the default settings. The name can be ecis-prod
Connect the Database as extra service to the VLAN