55 lines
1.8 KiB
Docker
55 lines
1.8 KiB
Docker
#*******************************************************************************
|
|
#
|
|
# Dockerfile to build Medley image from latest Maiko image
|
|
# plus latest release tars from github
|
|
#
|
|
# Copyright 2022 by Interlisp.org
|
|
#
|
|
# ******************************************************************************
|
|
|
|
ARG DOCKER_NAMESPACE=interlisp
|
|
|
|
FROM ${DOCKER_NAMESPACE}/maiko:latest
|
|
|
|
# Add tightvnc server and xclip to the image
|
|
RUN apt-get update && apt-get install -y tightvncserver && apt-get install -y xclip
|
|
|
|
# Handle ARGs, ENV variables, and LABELs
|
|
ARG BUILD_DATE=unknown
|
|
ARG RELEASE_TAG=unknown
|
|
ARG MAIKO_RELEASE=unknown
|
|
ARG REPO_OWNER=Interlisp
|
|
LABEL name="Medley"
|
|
LABEL description="The Medley Interlisp environment"
|
|
LABEL url="https://github.com/${REPO_OWNER}/medley"
|
|
LABEL build-time=$BUILD_DATE
|
|
LABEL release_tag=$RELEASE_TAG
|
|
LABEL maiko_release=$MAIKO_RELEASE
|
|
|
|
ENV MEDLEY_BUILD_DATE=$BUILD_DATE
|
|
ENV MEDLEY_RELEASE=$RELEASE_TAG
|
|
|
|
ARG INSTALL_LOCATION=/usr/local/interlisp
|
|
ENV INSTALL_LOCATION=${INSTALL_LOCATION}
|
|
|
|
ARG DOCKER_NAMESPACE=interlisp
|
|
ENV DOCKER_NAMESPACE=${DOCKER_NAMESPACE}
|
|
|
|
# Copy over the release tars
|
|
RUN mkdir -p ${INSTALL_LOCATION}
|
|
ADD ./*.tgz ${INSTALL_LOCATION}
|
|
|
|
# Create a run_medley script in /usr/local/bin
|
|
RUN mkdir -p /usr/local/bin && \
|
|
echo "#!/bin/bash" > /usr/local/bin/run-medley && \
|
|
echo "cd ${INSTALL_LOCATION}" >> /usr/local/bin/run-medley && \
|
|
echo './run-medley "$@"' >> /usr/local/bin/run-medley && \
|
|
chmod ugo+x /usr/local/bin/run-medley
|
|
|
|
# "Finalize" image
|
|
EXPOSE 5900
|
|
RUN adduser --disabled-password --gecos "" medley
|
|
USER medley
|
|
WORKDIR /home/medley
|
|
ENTRYPOINT USER=medley Xvnc -geometry 1280x720 :0 & DISPLAY=:0 ${INSTALL_LOCATION}/medley/run-medley -full -g 1280x720 -sc 1280x720
|