extensiveautomation/extensiveautomation-server

By extensiveautomation

Updated over 1 year ago

Extensive automation server

Image

50K+

extensiveautomation/extensiveautomation-server repository overview

Extensive Automation

ExtensiveAutomation is a open source automation framework. If you want more informations,

This docker image enable to run the server as container. This image does not contains any plugins, just the core server.

Start the extensive container server

  1. Downloading the image

     docker pull extensiveautomation/extensiveautomation-server:latest
    
  2. Start the container

      docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 \
         --name=extensive-server docker.io/extensiveautomation/extensiveautomation-server
    
  3. Now you can use the web interface or qt client to interact with the server. The following tcp port are exposed:

  • 8081 (rest api)
  • 8082 (websocket tunnel for qt client)
  • 8083 (websocket tunnel for agent)

Start the extensive container server with persistant data

  1. For this, we will use the following minimal directory structure and files in the specific container:

     ├── extensiveautomation-data
     │   ├── Dockerfile
     │   └── var/
     │        ├── data.db
     │        ├── documentations.dat
     │        ├── __init__.py
     │        ├── tests/
     │        └── templates/
    
  2. Create the main folder

     mkdir extensiveautomation-data
     cd extensiveautomation-data
    
  3. Copy the content of the var directory in server side.

     git clone https://github.com/ExtensiveAutomation/extensiveautomation-server.git
     cp -rf extensiveautomation-server/src/ea/var .
     rm -rf extensiveautomation-server
    
  4. And add the Dockerfile for the data volume, basing on an Alpine image:

     FROM alpine:3.10
     
     WORKDIR /home/extensive
     
     COPY . /home/extensive/var/
     
     RUN adduser -D extensive && \
         cd /home/extensive && \
         chown -R extensive:extensive /home/extensive
     
     VOLUME /home/extensive/ea/var
     
     USER extensive
     CMD ["echo", "Data volume for ExtensiveAutomation"]
    
  5. Now, we have to build the image and create the container, just as any other container:

     docker build -t extensiveautomation-data .
     docker run --name=extensive-data extensiveautomation-data
    
  6. Finally start the server and indicating that it has to use the data volume:

     docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083  \
           --volumes-from=extensive-data \
           --name=extensive-server extensiveautomation/extensiveautomation-server:latest
    

Docker Pull Command

docker pull extensiveautomation/extensiveautomation-server