layerindex-web/Dockerfile
Paul Eggleton 8dc728bf62 docker: fix copying .gitconfig for proxy setup
The home directory path in the commented line here had not been updated
when we switched to running the app as a normal user ("layers"), so do
that now. Additionally we need to copy the file *after* we create the
user, otherwise the home directory will be created by the COPY operation
first and will thus end up being owned by root which we don't want.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2018-08-06 12:34:57 +02:00

2.0 KiB

See docker/README for how to use this.

FROM debian:stretch LABEL maintainer="Michael Halstead mhalstead@linuxfoundation.org"

ENV PYTHONUNBUFFERED=1
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8

Uncomment to set proxy ENVVARS within container

#ENV http_proxy http://your.proxy.server:port #ENV https_proxy https://your.proxy.server:port

NOTE: we don't purge gcc below as we have some places in the OE metadata that look for it

COPY requirements.txt / RUN apt-get update
&& apt-get install -y --no-install-recommends
autoconf
g++
gcc
make
python-pip
python-mysqldb
python-dev
python-imaging
python3-pip
python3-mysqldb
python3-dev
python3-pil
libjpeg-dev
libmariadbclient-dev
locales
netcat-openbsd
curl
git-core
vim
&& echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
&& locale-gen en_US.UTF-8
&& update-locale
&& pip3 install gunicorn
&& pip install setuptools
&& pip3 install setuptools
&& pip install -r /requirements.txt
&& pip3 install -r /requirements.txt
&& apt-get purge -y autoconf g++ make python-dev python3-dev libjpeg-dev libmariadbclient-dev
&& apt-get autoremove -y
&& rm -rf /var/lib/apt/lists/*
&& apt-get clean

COPY . /opt/layerindex COPY docker/settings.py /opt/layerindex/settings.py COPY docker/refreshlayers.sh /opt/refreshlayers.sh COPY docker/updatelayers.sh /opt/updatelayers.sh COPY docker/migrate.sh /opt/migrate.sh

RUN mkdir /opt/workdir
&& adduser --system --uid=500 layers
&& chown -R layers /opt USER layers

Uncomment to add a .gitconfig file within container

#COPY docker/.gitconfig /home/layers/.gitconfig

Uncomment to add a proxy script within container, if you choose to

do so, you will also have to edit .gitconfig appropriately

#COPY docker/git-proxy /opt/bin/git-proxy

Start Gunicorn

CMD ["/usr/local/bin/gunicorn", "wsgi:application", "--workers=4", "--bind=:5000", "--log-level=debug", "--chdir=/opt/layerindex"]