diff --git a/Dockerfile b/Dockerfile index 92cb6f9..9b9f282 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,18 @@ FROM rockylinux:9 -MAINTAINER "Daniel Vargas" +LABEL maintainer="Daniel Vargas " + +ARG USER_ID=503 +ARG GROUP_ID=503 + +RUN groupadd -g ${GROUP_ID} lockss &&\ + useradd -l -u ${USER_ID} -g lockss lockss &&\ + install -d -m 0755 -o lockss -g lockss /home/lockss # LOCKSS LCAP and Administrative Web UI ports EXPOSE 9729/tcp EXPOSE 8081/tcp +EXPOSE 8082/tcp # Setup LOCKSS RPM repository ADD src/lockss.repo /etc/yum.repos.d @@ -12,7 +20,11 @@ RUN rpm --import https://assets.lockss.org/rpm/LOCKSS-GPG-RPM-KEY RUN yum -y -q update && yum clean all # Install LOCKSS via RPM -RUN yum -y -q install lockss-daemon java-1.8.0-openjdk-headless.x86_64 +RUN yum -y install lockss-daemon java-1.8.0-openjdk-headless.x86_64 iproute procps + +# Grant lockss ownership of daemon +RUN mkdir /var/log/lockss +RUN mkdir /var/run/lockss # Add files ADD src/bin/start-lockss.sh / diff --git a/compose.yaml b/compose.yaml index 7994491..3cdc0ba 100644 --- a/compose.yaml +++ b/compose.yaml @@ -7,8 +7,12 @@ services: ports: - "9729:9729" # LCAP v3 - "8081:8081" # LOCKSS Web Admin UI + - "8082:8082" # LOCKSS ServeContent + - "15270:15270" # Derby db volumes: - - /etc/lockss/config.dat:/etc/lockss/config.dat + - type: bind + source: /etc/lockss/config.dat + target: /etc/lockss/config.dat - /lockss:/lockss - /var/log/lockss:/var/log/lockss - /etc/localtime:/etc/localtime:ro @@ -19,3 +23,13 @@ services: test: "ss -n --listening --tcp | grep -P 'LISTEN.+:9729' || exit 1" timeout: 3s retries: 0 + networks: + custom_net: + ipv4_address: 172.18.0.2 +networks: + custom_net: + driver: bridge + ipam: + config: + - subnet: 172.18.0.0/16 + gateway: 172.18.0.1 diff --git a/lockss.env b/lockss.env index e69de29..b48c66f 100644 --- a/lockss.env +++ b/lockss.env @@ -0,0 +1,2 @@ +UID=503 +GID=503 \ No newline at end of file diff --git a/src/bin/start-lockss.sh b/src/bin/start-lockss.sh index 828a5f2..fdbf77b 100644 --- a/src/bin/start-lockss.sh +++ b/src/bin/start-lockss.sh @@ -13,16 +13,10 @@ start_lockss () { chown ${1} ${LOG_DIR} chmod 755 ${LOG_DIR} fi - if [ ! -f ${PID_FILE} ]; then - touch ${PID_FILE} - fi - chown ${1} ${PID_FILE} - chmod 644 ${PID_FILE} echo -n "Starting LOCKSS... " echo "Starting LOCKSS for user ${1} at `date`" >> ${LOG_FILE} chown ${1} ${LOG_FILE} /etc/lockss/startdaemon ${1} - echo "OK" } set_lockss_user @@ -33,4 +27,4 @@ do unset_variables done -exit 0 +exit 0 \ No newline at end of file