Skip to content
This repository has been archived by the owner on Jul 31, 2024. It is now read-only.

Commit

Permalink
initial version
Browse files Browse the repository at this point in the history
  • Loading branch information
gilesknap committed Nov 11, 2023
1 parent 4e5cd4b commit 3baa1b0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 68 deletions.
34 changes: 12 additions & 22 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,28 +1,18 @@
# Dockerfile for EPICS OPI PHoebus
FROM ubuntu:20.04
# Dockerfile for yet another json schema validator
# The container provides some supply chain protection by building from source
# agains a commit hash

ENV DEBIAN_FRONTEND=noninteractive
FROM golang:1.21.4 as build

RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
# get version yajsv 1.41 by commit hash
RUN git clone https://github.com/neilpa/yajsv.git && \
cd yajsv && \
git checkout 9889895863c595d38aa5d6347dfadb99f2687a51^{commit}

ENV LANG en_US.UTF-8
RUN apt-get install -y \
openjdk-11-jdk \
maven \
openjfx \
git
RUN cd /go/yajsv && go build -o /yajsv

ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
ENV ROOT=/phoebus
ENV VERSION=4.7.2
FROM alpine:3.18.4 as runtime

RUN git clone https://github.com/ControlSystemStudio/phoebus.git \
--branch=v${VERSION} ${ROOT}
WORKDIR ${ROOT}
RUN mvn -DskipTests clean install
COPY --from=build /yajsv /yajsv

RUN ln -s phoebus-product/target/product-${VERSION}.jar phoebus.jar
ENTRYPOINT ["java", "-jar", "phoebus.jar", "-server", "4918", "--add-modules=ALL-SYSTEM"]
ENTRYPOINT ["/yajsv"]
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# ec-phoebus
A container image for the Phoebus OPI tool for EPICS
# yzjsv

To launch:
```bash
curl -O https://raw.githubusercontent.com/epics-containers/ec-phoebus/main/phoebus.sh
bash phoebus.sh
```
Container for yet at another json schema validator.

Used by epics-containers to validate the EPICS IOC Instances.
39 changes: 0 additions & 39 deletions phoebus.sh

This file was deleted.

0 comments on commit 3baa1b0

Please sign in to comment.