From b4a276e24fbb4496ba34fbc645ddf77fcd314e76 Mon Sep 17 00:00:00 2001 From: "Henrique F. Simoes" Date: Wed, 7 Jun 2023 15:24:29 -0300 Subject: [PATCH] deploy: Add docker-compose to launch IOCs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This configuration follows the current deploy setting at Sirius. Some key points here are: Compose file version 3.2 is used to allow us to bind mount the autosave directory [1]. It works with the version of docker-compose we have. Several different services are used to make it possible to have a different container for each BPM slot (and RFFE). Thus, a base configuration has been set and is inherited for each service. However, using the base service for the environment and then appending to it inside a service doesn't work in the version of docker-compose we have on our crates, so we need to declare the full environment in each one. In our current configuration, all crates use the same local network addresses for RFFEs. This means we can include this configuration directly in this configuration file. Co-authored-by: Érico Nogueira [1] https://github.com/docker/compose/issues/4763 --- deploy/docker-compose.yml | 153 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 deploy/docker-compose.yml diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml new file mode 100644 index 0000000..59174df --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,153 @@ +version: "3.2" +services: + rffe-ioc: &base + image: ghcr.io/lnls-dig/rffe-epics-ioc + network_mode: host + volumes: + - type: bind + source: /var/opt/rffe-epics-ioc + target: /var/opt/rffe-epics-ioc + rffe-ioc-1: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 1 + rffe-ioc-2: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 2 + rffe-ioc-3: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 3 + rffe-ioc-4: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 4 + rffe-ioc-5: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 5 + rffe-ioc-6: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 6 + rffe-ioc-7: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 7 + rffe-ioc-8: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 8 + rffe-ioc-9: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 9 + rffe-ioc-10: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 10 + rffe-ioc-11: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 11 + rffe-ioc-12: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 12 + rffe-ioc-13: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 13 + rffe-ioc-14: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 14 + rffe-ioc-15: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 15 + rffe-ioc-16: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 16 + rffe-ioc-17: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 17 + rffe-ioc-18: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 18 + rffe-ioc-19: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 19 + rffe-ioc-20: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 20 + rffe-ioc-21: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 21 + rffe-ioc-22: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 22 + rffe-ioc-23: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 23 + rffe-ioc-24: + <<: *base + environment: + CRATE_NUMBER: ${CRATE_NUMBER} + RFFE_BASE_IP_ADDRESS: 192.168.2.190 + BPM_NUMBER: 24