38 lines
		
	
	
		
			790 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			790 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| 
								 | 
							
								# Use an official Ubuntu as a base image
							 | 
						||
| 
								 | 
							
								FROM ubuntu:latest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set environment variables to avoid interactive prompts during package installation
							 | 
						||
| 
								 | 
							
								ENV DEBIAN_FRONTEND=noninteractive
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Update the package list and install required packages
							 | 
						||
| 
								 | 
							
								RUN apt-get update -y && \
							 | 
						||
| 
								 | 
							
								    apt-get install -y \
							 | 
						||
| 
								 | 
							
								    gcc \
							 | 
						||
| 
								 | 
							
								    make \
							 | 
						||
| 
								 | 
							
								    libreadline-dev \
							 | 
						||
| 
								 | 
							
								    libncurses5-dev \
							 | 
						||
| 
								 | 
							
								    libcurl4-openssl-dev \
							 | 
						||
| 
								 | 
							
								    libssl-dev \
							 | 
						||
| 
								 | 
							
								    libjson-c-dev \
							 | 
						||
| 
								 | 
							
								    libsqlite3-dev \
							 | 
						||
| 
								 | 
							
								    python3-dev \
							 | 
						||
| 
								 | 
							
								    && apt-get clean \
							 | 
						||
| 
								 | 
							
								    && rm -rf /var/lib/apt/lists/*
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								RUN mkdir /r
							 | 
						||
| 
								 | 
							
								# Set the working directory
							 | 
						||
| 
								 | 
							
								WORKDIR /r
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Copy the source files into the container
							 | 
						||
| 
								 | 
							
								COPY . .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Build the application
							 | 
						||
| 
								 | 
							
								RUN make build
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								RUN cp r /usr/local/bin/r
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WORKDIR /app
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Command to run the application (optional, can be overridden)
							 | 
						||
| 
								 | 
							
								CMD ["r", "--verbose"]
							 |