On-premise Installation¶
Easy Report in your infrastructure¶
The on-premise installation implies that everything will be deployed on your infrastructure. There will be no external dependencies and the only connection to the internet will be the webhook connected directly to the messenger.
See more information about reverse proxy here
0. Create virtual machine¶
Please, see the requirements which we provided.
This virtual machine has to be able to connect to your messengers' API (for some messengers it means the ability to connect to the internet). Later you will need its IP address.
1. Provide hostname¶
e.g. easyreport.mycompany.com
Messengers use webhooks for chatbot functionality, meaning messengers will post updates to this hostname.
2. Setup proxy¶
Usually, our clients have a common web server that redirects traffic from the internet to internal servers.
You need to add a new config to this web server (e.g. nginx) which will redirect traffic from easyreport.mycompany.com to Easy Report virtual machine.
The proxy has to have an open port 443 and a valid SSL certificate (this is the messengers' requirement).
Below is the sample config for nginx:
server {
listen 80;
server_name easyreport.mycompany.com www.easyreport.mycompany.com;
rewrite ^ https://easyreport.mycompany.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name easyreport.mycompany.com www.easyreport.mycompany.com;
ssl_certificate /etc/nginx/certs/mycompany.com_concat.crt;
ssl_certificate_key /etc/nginx/certs/mycompany.com.key;
ssl_session_cache shared:SSL:10m;
add_header Referrer-Policy "same-origin" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Robots-Tag "none, nosnippet, noarchive, noimageindex";
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-XSS-Protection "1; mode=block" always;
access_log /var/log/nginx/easyreport.mycompany.com-access.log;
error_log /var/log/nginx/easyreport.mycompany.com-error.log;
client_max_body_size 750M;
location / {
proxy_pass http://<Virtual machine internal ip-address>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Finally, add a DNS record to your host provider, e.g. easyreport A <proxy external IP address>
3. Create email account¶
e.g. easyreport@mycompany.com
You need to create an email account to let Easy Report send out invitations for end-users and deliver reports to their emails. You need to provide the following credentials:
- SMTP server host (e.g. smtp.mycompany.com)
- SMTP server port (e.g. 567)
- email address
- email password
4. Unzip archive¶
tar -xvf easyreport--XX.XX.X.tar.xz
5. Install cluster¶
bash install_cluster.sh
6. Update values.local.yaml¶
Using any text editor (e.g. nano, vim) you need to edit the following fields:
- ingress.host: replace
<hostname>
with provided hostname (e.g. easyreport.mycompany.com) - email.host: replace
<email-host>
with SMTP server host (e.g. smtp.mycompany.com) - email.port: replace 567 with SMTP server port (e.g. 567)
- email.user: replace
<email-user>
with provided email address (e.g. easyreport@mycompany.com) - email.password: replace
<email-password>
with provided email password - email.from: replace
<email-user>
with provided email address (e.g. easyreport@mycompany.com)
nano values.local.yaml
7. Install Easy Report¶
bash install_easyreport.sh easyreport-XX.XX.X.tar.xz