20 September 2025
Palmer House Hilton
US/Central timezone

epics-in-docker: a small framework for building slim IOC and EPICS tooling container images

20 Sept 2025, 16:05
5m
Adams Room (Palmer House Hilton)

Adams Room

Palmer House Hilton

17 East Monroe Street Chicago, IL 60603, USA
Lightning talk Build & Deployment Lightning talks

Speaker

Guilherme Rodrigues de Lima

Description

The SIRIUS accelerators have used containers for IOCs for years, but build definitions and launch scripts were often duplicated, and image sizes could be over 3GB. On the other hand, the SIRIUS beamlines, until recently, used IOCs installed in a shared NFS, which complicated application management, especially across different OS versions.

To address these issues, we have developed a framework for building slim IOC container images (e.g. ADAravis takes 300MB) using a curated set of dependencies (and their versions) and simple and short build definitions. We avoid duplicating shared information by using git submodules, which aids in versioning the base images used. The resulting container images include a standard set of installed packages and scripts, making them ready for deployment in a wide range of container orchestration setups. The shared interface provided by the EPICS build system allows us to also create images with EPICS tools, including CA and PVA gateways and epics-base utilities.

For beamlines, it was necessary to adapt the IOC orchestration to also support containerized applications, keeping the same user interface for managing IOCs for beamline and support staff.

This presentation aims to highlight some aspects of the epics-in-docker architecture, the user experience, and how SIRIUS manages containers. It also aims to present an overview of the tradeoffs made in epics-in-docker and other frameworks, such as our choice to not support different versions of dependencies.

Author

Co-authors

Presentation materials

There are no materials yet.