**Steps for setting up slow control:**
The purpose of this page is to list instructions to create a docker container containing all the tools required to run a slow control system. EPICS is the back-end. It keeps track of the process variables and Handels the communication between the slow control computer and the components of a scientific experimental setup over Local network. Node-RED is the front-end. It interacts with EPICS using EPICS-Python interface. With Node-RED 'flows' and GUI are created.
The following steps are for reference. If the intention is to just set up a slow control without having to go through underlying details, then execute step one and skip to the last command on this page.
**1. Installing docker on ubuntu**: Open terminal in ubuntu and run the following commands.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
**2. Setup a ubuntu container**
$ docker run --it --network host --name slow_control ubuntu bin/bash
Containers are usually completely isolated from the host system. But containers with '--network host' tag share the host network.
**Note:**
'$' symbol is used to represent host terminal.
'#' symbol is used to represent terminal inside the container.
**3. Access terminal inside the container**
$ docker exec -it slow_control bin/bash
**4. Install epics using the script on [[epics:autoinstall|autoinstall]] page**
The downloaded script should be copied into the container.
Open another terminal window on the host and execute the following command.
docker cp |- :
**5. install Node.js**
# curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
# sudo apt-get install -y nodejs
**5. Install Node-RED**
# sudo npm install -g --unsafe-perm node-red
Now the basic set up is complete
**6. create an account in docker-hub https://hub.docker.com/signup and create a repository named "slow_control"
**7. Sign into docker using the same account
$ docker login
(you will be prompted form username and password).
**8. Create an image of the container that has been created in the previous steps.**
$ docker commit slow_control
(you will see a series of alpha-numeric characters after executing this command, this is called a 'tag')
Assign a name to the image
$ docker slow_control:v1
**9. Upload the image to repository that was created in step 6**
$ docker push /slow_control:v1
Now the image slow_control:v1 can be pulled to any computer and a container can be setup. All the prerequisite are present in this container.
The following command can be executed to setup a container which has already been created.
$ docker run --it --network host --name slow_control ravigmathim/slow_control:v1.2 bin/bash
The 'v1.2' in the 'ravigmathim/slow_control:v1.2' refers to version. It may change.