myems/admin
13621160019@163.com ea992ee849 updated version number to 1.7.2 2022-02-19 08:44:35 +08:00
..
app added alternative uuid parameter to reports of combined equipment, equipment, meter, shopfloor, store and tenant 2022-01-21 19:09:35 +08:00
css Improved Tariff Editor 2022-01-07 17:31:31 +08:00
font-awesome merged myems-admin 2021-02-19 14:43:12 +08:00
fonts merged myems-admin 2021-02-19 14:43:12 +08:00
img merged myems-admin 2021-02-19 14:43:12 +08:00
js added qrcode 2022-01-13 17:14:46 +08:00
upload merged myems-admin 2021-02-19 14:43:12 +08:00
views updated version number to 1.7.2 2022-02-19 08:44:35 +08:00
.gitignore fixed issue of gitignore in Admin UI 2021-07-20 18:29:35 +08:00
Dockerfile updated Dockerfiles 2022-01-02 19:30:01 +08:00
LICENSE updated year in LICENSE 2022-01-12 12:38:31 +08:00
README.md fixed isssues in README 2022-01-28 18:26:03 +08:00
index.html added qrcode 2022-01-13 17:14:46 +08:00
nginx.conf added access control to point in api and admin 2021-12-07 19:50:37 +08:00

README.md

myems-admin

Introduction

系统管理用户界面用于MyEMS系统配置 Providing Admin UI for MyEMS system settings

Prerequisites

nginx-1.18.0 or later

Installation

Option 1: Install myems-admin on Docker

In this section, you will install myems-admin on Docker.

  • replace 127.0.0.1:8000 in nginx.conf with actual HOST ip and port of myems-api
cd myems/admin
nano nginx.conf
      proxy_pass http://127.0.0.1:8000/;
  • Build a Docker image
cd myems/admin
docker build -t myems/myems-admin .
  • Run a Docker container If run on Windows host, bind-mount a share upload file folder at c:\myems-upload to the container -v parameter must be same with that in myems-api
docker run -d -p 8001:8001 -v c:\myems-upload:/var/www/html/admin/upload --restart always --name myems-admin myems/myems-admin

If run on Linux host, bind-mount a share upload file folder at /myems-upload to the container

docker run -d -p 8001:8001 -v /myems-upload:/var/www/html/admin/upload --restart always --name myems-admin myems/myems-admin

-d Run container in background and print container ID

-p Publish a container's port(s) to the host, 8001:8001 (Host:Container) binds port 8001 (right) of the container to TCP port 8001 (left) of the host machine.

-v If you use -v or --volume to bind-mount a file or directory that does not yet exist on the Docker host, -v creates the endpoint for you. It is always created as a directory.

--restart Restart policy to apply when a container exits

--name Assign a name to the container

If you want to immigrate the image to another computer,

  • Export image to tarball file
docker save --output myems-admin.tar myems/myems-admin
  • Copy the tarball file to another computer, and then load image from tarball file
docker load --input .\myems-admin.tar

Option 2: Install on NGINX Server

  • Install NGINX Server

refer to http://nginx.org/en/docs/install.html

  • Configure NGINX
sudo nano /etc/nginx/nginx.conf

In the 'http' section, add some directives:

http{
    client_header_timeout 600;
    client_max_body_size 512M;
    gzip on;
    gzip_min_length 512;
    gzip_proxied any;
    gzip_types *;
    gzip_vary on;
    ...

}

Add a new 'server' section with direstives as below:

  server {
      listen                 8001;
      server_name     myems-admin;
      location / {
          root    /var/www/html/admin;
          index index.html index.htm;
      }
      -- To avoid CORS issue, use Nginx to proxy myems-api to path /api 
      -- Add another location /api in 'server ', replace demo address http://127.0.0.1:8000/ with actual url
      location /api {
          proxy_pass http://127.0.0.1:8000/;
          proxy_connect_timeout 75;
          proxy_read_timeout 600;
          send_timeout 600;
      }
  }
  • Install myems-admin : If the server can not connect to the internet, please compress the myems/admin folder and upload it to the server and extract it to ~/myems/admin
sudo cp -r myems/admin  /var/www/html/admin
sudo chmod 0755 -R /var/www/html/admin

Check the config file and change it if necessary:

sudo nano /var/www/html/admin/app/api.js

NOTE:

The 'upload' folder is for user uploaded files. DO NOT delete/move/overwrite the 'upload' folder when you upgraded myems-admin.

 /var/www/html/admin/upload

Option 3: Install on Apache2 Server

  • Install Apache2 Server

refer to https://httpd.apache.org/docs/2.4/install.html

  • Configure Apache2
  sudo vi /etc/apache2/ports.conf

Add a Listen

Listen 8001
sudo vi /etc/apache2/sites-available/000-default.conf

Add a new 'VirtualHost' as below

<VirtualHost 127.0.0.1:8001>
        ServerAdmin MyEMS-admin
        DocumentRoot /var/www/admin
        
        <Directory "var/www/admin">
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Install myems-admin : If the server can not connect to the internet, please compress the myems/admin folder and upload it to the server and extract it to ~/myems/admin
sudo cp -r myems/admin  /var/www/html/admin
sudo chmod 0755 -R /var/www/html/admin

Check the config file and change it if necessary:

sudo nano /var/www/html/admin/app/api.js

References

[1]. https://myems.io

[2]. https://dev.mysql.com/doc/connector-python/en/

[3]. https://nginx.org/