mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 13:11:20 -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
							 |