mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-30 03:38:55 -05:00
54 lines
1.7 KiB
Docker
54 lines
1.7 KiB
Docker
FROM ubuntu:20.04 AS base
|
|
ARG uid
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Create a user with sudo rights
|
|
RUN apt-get update && apt-get -y install sudo
|
|
RUN useradd -m appuser -u ${uid} && echo "appuser:appuser" | chpasswd \
|
|
&& adduser appuser sudo \
|
|
&& sudo usermod --shell /bin/bash appuser
|
|
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
USER appuser
|
|
|
|
# Configure tzdata manually before anything else
|
|
ENV TZONE=Europe/Paris
|
|
RUN sudo ln -fs /usr/share/zoneinfo/$TZONE /etc/localtime \
|
|
&& sudo apt-get update && sudo apt-get -y install tzdata
|
|
|
|
# Base packages required
|
|
RUN sudo apt-get update && sudo apt-get -y install \
|
|
git \
|
|
vim \
|
|
wget \
|
|
maven \
|
|
openjdk-8-jdk
|
|
|
|
# Prepare buiid and install environment
|
|
RUN sudo mkdir /opt/build /opt/install \
|
|
&& sudo chown appuser:appuser /opt/build /opt/install
|
|
|
|
# swagger-codegen
|
|
FROM base as codegen_clone
|
|
ARG clone_label
|
|
WORKDIR /opt/build
|
|
RUN git clone --depth 1 https://github.com/f4exb/swagger-codegen.git -b sdrangel \
|
|
&& cd swagger-codegen \
|
|
&& mkdir build \
|
|
&& echo "${clone_label}" > build/clone_label.txt
|
|
|
|
FROM base as codegen_build
|
|
COPY --from=codegen_clone --chown=appuser /opt/build/swagger-codegen /opt/build/swagger-codegen
|
|
WORKDIR /opt/build/swagger-codegen
|
|
RUN export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
|
|
&& mvn clean package
|
|
RUN mkdir -p /opt/install/swagger \
|
|
&& cp ./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar /opt/install/swagger
|
|
|
|
FROM base as codegen
|
|
RUN mkdir -p /opt/build/sdrangel/swagger/sdrangel
|
|
COPY --from=codegen_build --chown=appuser /opt/install/swagger /opt/install/swagger
|
|
COPY swagger-codegen /opt/install/swagger
|
|
|
|
WORKDIR /opt/build/sdrangel/swagger/sdrangel
|