Overview
A Docker image is available at https://registry.hub.docker.com/r/sunforestsoftware/envisionscada.
The image can be deployed on Windows and Linux hosts. Each tag holds an image for AMD64 (x86-64) and an image for 64-bit ARM (ARM64), and the pull selects the image that matches the architecture of the host, so the commands below are the same on both. Both images require a 64-bit operating system. The ARM64 image is available in the latest version. Python packages that contain compiled code are architecture specific, so on an ARM64 host the ARM64 build of such a package is installed (see the Install Python Libraries article).
The database and project related files are stored on a volume called EnvisionVolume and are automatically upgraded to the latest version when creating new containers. If the volume does not exist, it will automatically be created when using the run command below.
docker pull sunforestsoftware/envisionscadadocker run -p 80:8080 --name=envisionscada --restart=always --mount source=EnvisionVolume,target=/EnvisionVolume sunforestsoftware/envisionscada:latestdocker run -p 80:8080 --name=envisionscada --restart=always --mount source=EnvisionVolume,target=/EnvisionVolume --mount source=EnvisionCerts,target=/app/certs sunforestsoftware/envisionscada:latestdocker stop envisionscadadocker rm envisionscadadocker rmi envisionscada:latestHTTPS
The container serves HTTP on port 8080. It serves HTTPS on a second port when a server certificate is provided through the environment variables in the table below. This suits a plant network with its own certificate, for example a certificate created with the Certificate Generator and signed by the plant Certificate Authority (see the Certificates article). For a site that needs publicly trusted certificates that are renewed automatically, place a reverse proxy in front of the container instead.
The certificate is read from a folder on the host that is mounted in the container, so it is kept when the container is recreated. The certificate name (Common Name or a Subject Alternative Name) must match the IP address or DNS name the browsers use to open EnvisionSCADA, and the browsers must trust the Certificate Authority that signed it.
| Environment variable | Description | Example |
|---|---|---|
| ASPNETCORE_URLS | Ports the container listens on. Add an https entry next to the http entry. | https://+:8443;http://+:8080 |
| ASPNETCORE_HTTPS_PORT | HTTPS port on the host, used for the redirect from HTTP to HTTPS. | 443 |
| ASPNETCORE_Kestrel__Certificates__Default__Path | Path of the certificate in the container: a .pfx file (certificate and private key), or a .crt or .pem file used together with KeyPath. | /app/certs/https/cert.pfx |
| ASPNETCORE_Kestrel__Certificates__Default__Password | Password of the .pfx file, or of an encrypted private key file. | |
| ASPNETCORE_Kestrel__Certificates__Default__KeyPath | Path of the private key file (PEM) when Path is a .crt or .pem file. | /app/certs/https/cert.key |
No rows match the filter.
docker run -p 80:8080 -p 443:8443 --name=envisionscada --restart=always --mount source=EnvisionVolume,target=/EnvisionVolume --mount source=EnvisionCerts,target=/app/certs -v /opt/envision/https:/app/certs/https:ro -e ASPNETCORE_URLS="https://+:8443;http://+:8080" -e ASPNETCORE_HTTPS_PORT=443 -e ASPNETCORE_Kestrel__Certificates__Default__Path=/app/certs/https/cert.pfx -e ASPNETCORE_Kestrel__Certificates__Default__Password=<certificate password> sunforestsoftware/envisionscada:latest-e ASPNETCORE_Kestrel__Certificates__Default__Path=/app/certs/https/cert.crt -e ASPNETCORE_Kestrel__Certificates__Default__KeyPath=/app/certs/https/cert.keyOnce HTTPS is configured, a request on the HTTP port is redirected to the HTTPS port. Set ASPNETCORE_HTTPS_PORT to the HTTPS port on the host, so the redirect points to the port the browser can reach. A changed certificate is loaded when the container is restarted.