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"]
 |