112 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # focal amd64 as of 2020-03-10
 | |
| FROM ubuntu@sha256:d050ed7278c16ff627e4a70d7d353f1a2ec74d8a0b66e5a865356d92f5f6d87b
 | |
| 
 | |
| ################################################################################
 | |
| ##  Mirror Setup
 | |
| ##  - option to use local mirror to speed build
 | |
| ################################################################################
 | |
| ARG UBUNTU_MIRROR=http://archive.ubuntu.com/ubuntu
 | |
| RUN echo "deb $UBUNTU_MIRROR focal main universe restricted multiverse" > \
 | |
|             /etc/apt/sources.list.new && \
 | |
|     echo "deb $UBUNTU_MIRROR focal-updates main universe restricted multiverse" >> \
 | |
|             /etc/apt/sources.list.new && \
 | |
|     echo "deb $UBUNTU_MIRROR focal-security main universe restricted multiverse" >> \
 | |
|             /etc/apt/sources.list.new && \
 | |
|     echo "deb $UBUNTU_MIRROR focal-backports main universe restricted multiverse" >> \
 | |
|             /etc/apt/sources.list.new && \
 | |
|     mv /etc/apt/sources.list.new /etc/apt/sources.list
 | |
| 
 | |
| 
 | |
| ARG UID=61000
 | |
| ARG GID=61000
 | |
| 
 | |
| RUN groupadd \
 | |
|         --system --gid $GID \
 | |
|         app && \
 | |
|     useradd \
 | |
|         --system --gid $GID --uid $UID \
 | |
|         --no-log-init -m -s /bin/false --home-dir /home/app \
 | |
|         app
 | |
| 
 | |
| ################################################################################
 | |
| ##  Versions
 | |
| ################################################################################
 | |
| # master as of 2020-03-10
 | |
| ARG PYENV_COMMIT=df9fa1dc30b6448ef8605e2c2d4dfc2a94d6a35d
 | |
| ARG PYTHON_VERSION=3.8.1
 | |
| 
 | |
| ################################################################################
 | |
| ##  Packages
 | |
| ################################################################################
 | |
| ARG DEBIAN_FRONTEND=noninteractive
 | |
| RUN apt update && \
 | |
|     apt upgrade -y && \
 | |
|     apt install -y \
 | |
|         build-essential \
 | |
|         curl \
 | |
|         git \
 | |
|         libbz2-dev \
 | |
|         libffi-dev \
 | |
|         liblzma-dev \
 | |
|         libncurses5-dev \
 | |
|         libncursesw5-dev \
 | |
|         libreadline-dev \
 | |
|         libsqlite3-dev \
 | |
|         libssl-dev \
 | |
|         llvm \
 | |
|         locales \
 | |
|         locales \
 | |
|         make \
 | |
|         python-openssl \
 | |
|         tk-dev \
 | |
|         wget \
 | |
|         xz-utils \
 | |
|         zlib1g-dev \
 | |
|     && \
 | |
|     echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && \
 | |
|     dpkg-reconfigure --frontend=noninteractive locales && \
 | |
|     update-locale LANG=en_US.UTF-8 && \
 | |
|     mkdir -p /var/app && \
 | |
|     chown app:app /var/app
 | |
| 
 | |
| 
 | |
| ENV LANG en_US.UTF-8
 | |
| 
 | |
| USER app
 | |
| WORKDIR /home/app
 | |
| ENV HOME /home/app
 | |
| 
 | |
| RUN git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv && \
 | |
|     cd $HOME/.pyenv && \
 | |
|     git checkout $PYENV_COMMIT
 | |
| 
 | |
| ENV PYENV_ROOT $HOME/.pyenv
 | |
| ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
 | |
| 
 | |
| ################################################################################
 | |
| ##  Python
 | |
| ################################################################################
 | |
| RUN pyenv install $PYTHON_VERSION && \
 | |
|     pyenv global $PYTHON_VERSION && \
 | |
|     pyenv rehash && \
 | |
|     pip install --upgrade pip && \
 | |
|     pip install pipenv
 | |
| 
 | |
| 
 | |
| ################################################################################
 | |
| ##  Install App Deps
 | |
| ################################################################################j
 | |
| WORKDIR /var/app
 | |
| COPY ./Pipfile ./Pipfile.lock /var/app/
 | |
| RUN pipenv install --python $PYENV_ROOT/shims/python
 | |
| 
 | |
| ################################################################################
 | |
| ##  Install App
 | |
| ################################################################################
 | |
| COPY . /var/app
 | |
| 
 | |
| VOLUME /data
 | |
| 
 | |
| ENV PYTHONPATH /var/app
 | |
| CMD pipenv run python ./bin/tvidd
 |