Updated docker files to build and run an image based on devuan:ascii instead of debian:jessie.
- Legacy-Id: 16784
This commit is contained in:
parent
4c28f69172
commit
6e31552b7c
|
@ -19,7 +19,7 @@
|
|||
# but the database has *not* been loaded with a dump, and supporting files (drafts, charters, etc.)
|
||||
# have *not* been downloaded.
|
||||
|
||||
FROM debian:jessie
|
||||
FROM dyne/devuan:ascii
|
||||
LABEL maintainer="Henrik Levkowetz <henrik@levkowetz.com>"
|
||||
|
||||
# Default django runserver port
|
||||
|
@ -27,15 +27,16 @@ EXPOSE 8000
|
|||
|
||||
# Run apt-get noninteractive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV DEVUAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -qy apt-transport-https
|
||||
|
||||
# Use backports, updates, and security updates; over https if possible
|
||||
RUN echo "deb https://deb.debian.org/debian jessie main contrib non-free" > /etc/apt/sources.list
|
||||
RUN echo "deb https://deb.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list
|
||||
RUN echo "deb https://deb.debian.org/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list
|
||||
RUN echo "deb http://security.debian.org/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
|
||||
# Use backports, updates, and security updates
|
||||
RUN echo "deb http://deb.devuan.org/merged ascii main contrib non-free" > /etc/apt/sources.list
|
||||
RUN echo "deb http://deb.devuan.org/merged ascii-security main contrib non-free" >> /etc/apt/sources.list
|
||||
RUN echo "deb http://deb.devuan.org/merged ascii-updates main contrib non-free" >> /etc/apt/sources.list
|
||||
RUN echo "deb http://deb.devuan.org/merged ascii-backports main contrib non-free" >> /etc/apt/sources.list
|
||||
|
||||
# Install needed packages
|
||||
#
|
||||
|
@ -44,27 +45,44 @@ RUN echo "deb http://security.debian.org/debian-security jessie/updates main con
|
|||
# 15%, about 100MB.
|
||||
|
||||
# Fetch apt package information, and upgrade to latest package versions
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get -qy upgrade
|
||||
|
||||
# Install the packages we need
|
||||
RUN apt-get install -qy \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
colordiff \
|
||||
gawk \
|
||||
gcc \
|
||||
ipython \
|
||||
jq \
|
||||
less \
|
||||
libfreetype6 \
|
||||
libfontconfig \
|
||||
libbz2-dev \
|
||||
libdb5.3-dev \
|
||||
libexpat1-dev \
|
||||
libffi-dev \
|
||||
libgdbm-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
liblzma-dev \
|
||||
libmagic1 \
|
||||
libmariadbclient-dev \
|
||||
libncurses5-dev \
|
||||
libncursesw5-dev \
|
||||
libreadline-dev \
|
||||
libsqlite3-dev \
|
||||
libssl-dev \
|
||||
libsvn1 \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
libz-dev \
|
||||
locales \
|
||||
make \
|
||||
man \
|
||||
mariadb-client \
|
||||
mariadb-server \
|
||||
openssh-client \
|
||||
patch \
|
||||
procps \
|
||||
|
@ -77,33 +95,12 @@ RUN apt-get install -qy \
|
|||
rsync \
|
||||
subversion \
|
||||
sudo \
|
||||
uuid-dev \
|
||||
vim \
|
||||
wget
|
||||
|
||||
# Install SystemV init
|
||||
RUN apt-get install -qy sysvinit-core \
|
||||
&& cp /usr/share/sysvinit/inittab /etc/inittab
|
||||
|
||||
# Get rid of systemd
|
||||
RUN apt-get remove --yes --purge --auto-remove systemd \
|
||||
&& echo -e "\nPackage: systemd\nPin: release *\nPin-Priority: -1\n" > /etc/apt/preferences.d/no-systemd
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# The following section is all about installing mysql server 5.6, instead of
|
||||
# 5.5 which is provided in jessie. It's a bit convoluted.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Get the key used to sign the mysql repo
|
||||
RUN gpg --keyserver pgp.mit.edu --recv-keys 5072E1F5
|
||||
RUN gpg --export -a 5072E1F5 | apt-key add -
|
||||
|
||||
# Install a package which will install apt sources entries for current mysql
|
||||
RUN echo 'mysql-apt-config mysql-apt-config/select-server select mysql-5.6' | debconf-set-selections
|
||||
RUN echo 'mysql-apt-config mysql-apt-config/repo-url string https://repo.mysql.com/apt/' | debconf-set-selections
|
||||
RUN echo "deb https://repo.mysql.com/apt/debian/ jessie mysql-apt-config" >> /etc/apt/sources.list.d/mysql-apt-config.list
|
||||
RUN apt-get update
|
||||
RUN apt-get install -qy mysql-apt-config
|
||||
RUN rm /etc/apt/sources.list.d/mysql-apt-config.list
|
||||
wget \
|
||||
xz-utils\
|
||||
zile \
|
||||
zlib1g-dev
|
||||
|
||||
# Get the key used to sign the libyang repo
|
||||
RUN wget -nv http://download.opensuse.org/repositories/home:liberouter/Debian_9.0/Release.key
|
||||
|
@ -111,14 +108,14 @@ RUN apt-key add - < Release.key
|
|||
RUN rm Release.key
|
||||
|
||||
# Add apt source entry for libyang
|
||||
RUN echo "deb http://download.opensuse.org/repositories/home:/liberouter/Debian_8.0/ /" >> /etc/apt/sources.list.d/libyang.list
|
||||
RUN echo "deb http://download.opensuse.org/repositories/home:/liberouter/Debian_9.0/ /" >> /etc/apt/sources.list.d/libyang.list
|
||||
|
||||
# Update the package defs, and install the desired mysql from the mysql repo
|
||||
RUN apt-get update
|
||||
RUN apt-get install -qy mysql-community-server libmysqlclient-dev libyang
|
||||
RUN apt-get install -qy libyang
|
||||
|
||||
# This is expected to exist by the mysql startup scripts:
|
||||
RUN touch /etc/mysql/debian.cnf
|
||||
#RUN touch /etc/mysql/debian.cnf
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Get rid of installation files we don't need in the image, to reduce size
|
||||
|
@ -154,12 +151,29 @@ RUN ln -s /usr/local/phantomjs-1.9.8-linux-x86_64/bin/phantomjs .
|
|||
ADD https://tools.ietf.org/tools/idnits/idnits /usr/local/bin/
|
||||
RUN chmod +rx /usr/local/bin/idnits
|
||||
|
||||
# # Python 3
|
||||
ENV PYVER=3.6.9
|
||||
ENV PYREV=3.6
|
||||
|
||||
WORKDIR /usr/src
|
||||
RUN wget -q https://www.python.org/ftp/python/$PYVER/Python-$PYVER.tar.xz
|
||||
RUN tar xJf Python-$PYVER.tar.xz
|
||||
RUN rm Python-$PYVER.tar.xz
|
||||
WORKDIR /usr/src/Python-$PYVER/
|
||||
RUN ./configure
|
||||
RUN make
|
||||
RUN make altinstall
|
||||
WORKDIR /usr/src
|
||||
RUN rm -rf /usr/src/Python-$PYVER/
|
||||
|
||||
ENV HOSTNAME="datatracker"
|
||||
|
||||
ENV DDIR="/usr/local/share/datatracker"
|
||||
RUN mkdir -p $DDIR
|
||||
WORKDIR $DDIR
|
||||
|
||||
COPY requirements.txt ./
|
||||
RUN pip --no-cache-dir install -r requirements.txt
|
||||
COPY requirements3.txt ./
|
||||
RUN pip$PYREV --no-cache-dir install -r requirements3.txt
|
||||
|
||||
COPY settings_local.py ./
|
||||
COPY setprompt ./
|
||||
|
|
|
@ -84,10 +84,9 @@ fi
|
|||
VIRTDIR="/opt/home/$USER/$TAG"
|
||||
echo "Checking that there's a virtual environment for $TAG ..."
|
||||
if [ ! -f $VIRTDIR/bin/activate ]; then
|
||||
echo "Setting up python virtualenv at /opt/home/$USER ..."
|
||||
mkdir -p /opt/home/$USER
|
||||
mkdir $VIRTDIR
|
||||
virtualenv --system-site-packages $VIRTDIR
|
||||
echo "Setting up python virtualenv at $VIRTDIR ..."
|
||||
mkdir -p $VIRTDIR
|
||||
python3.6 -m venv $VIRTDIR
|
||||
echo -e "
|
||||
# This is from $VIRTDIR/bin/activate, to activate the
|
||||
# datatracker virtual python environment on docker container entry:
|
||||
|
@ -103,7 +102,7 @@ echo "Activating the virtual python environment ..."
|
|||
|
||||
if ! python -c "import django"; then
|
||||
echo "Installing requirements ..."
|
||||
pip install -r /usr/local/share/datatracker/requirements.txt
|
||||
pip install -r /usr/local/share/datatracker/requirements3.txt
|
||||
fi
|
||||
|
||||
if [ ! -f $VIRTDIR/lib/site-python/settings_local.py ]; then
|
||||
|
|
|
@ -230,7 +230,8 @@ else
|
|||
|
||||
echo ""
|
||||
echo "Committing changes in the container to an image:"
|
||||
latest=$(docker ps -lq)
|
||||
image=$( docker images -q $REPO:$TAG)
|
||||
latest=$(docker ps -lq -f "ancestor=$image")
|
||||
docker commit $latest $REPO:$TAG
|
||||
|
||||
echo ""
|
||||
|
@ -239,7 +240,7 @@ else
|
|||
DANGLING=$( docker images -f dangling=true -q )
|
||||
if [ -n "$DANGLING" ]; then
|
||||
echo "Dangling images: $DANGLING"
|
||||
docker rmi -f $DANGLING;
|
||||
docker rmi -f $DANGLING
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
import os
|
||||
# Copyright The IETF Trust 2007-2019, All Rights Reserved
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import six
|
||||
if six.PY3:
|
||||
from typing import Collection, Dict, List, Tuple # pyflakes:ignore
|
||||
|
||||
SECRET_KEY = 'jzv$o93h_lzw4a0%0oz-5t5lk+ai=3f8x@uo*9ahu8w4i300o6'
|
||||
|
||||
|
@ -9,7 +14,7 @@ DATABASES = {
|
|||
'USER': 'django',
|
||||
'PASSWORD': 'RkTkDPFnKpko',
|
||||
},
|
||||
}
|
||||
} # type: Dict[str, Dict[str, Collection[str]]]
|
||||
|
||||
DATABASE_TEST_OPTIONS = {
|
||||
'init_command': 'SET storage_engine=InnoDB',
|
||||
|
@ -31,7 +36,7 @@ EMAIL_PORT=2025
|
|||
TRAC_WIKI_DIR_PATTERN = "test/wiki/%s"
|
||||
TRAC_SVN_DIR_PATTERN = "test/svn/%s"
|
||||
TRAC_CREATE_ADHOC_WIKIS = [
|
||||
]
|
||||
] # type: List[Tuple[str, str, str]]
|
||||
|
||||
MEDIA_BASE_DIR = 'test'
|
||||
MEDIA_ROOT = MEDIA_BASE_DIR + '/media/'
|
||||
|
@ -49,45 +54,3 @@ SUBMIT_YANG_IANA_MODEL_DIR = 'data/developers/ietf-ftp/yang/ianamod/'
|
|||
SUBMIT_YANGLINT_COMMAND = 'yanglint --verbose -p {rfclib} -p {draftlib} -p {tmplib} {model}'
|
||||
|
||||
|
||||
API_PUBLIC_KEY_PEM = """
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuIm3wBpMEhFmy40ZBNHU
|
||||
jn6cMVeDwynedDtww+071mQFIyidDn0UYCTfLn8dLQDpbdoreMz9Zzb0tMygMyMb
|
||||
5fsOItkEd7J5jVqpPWqlvspaa5qb5zuB8NHAxRjPfomgn0Sl1Uvwl1Gc3N2UElCb
|
||||
mJ+wEK+C55YVLj1k/9GU34G//XLcSnBF7bmjcycP+z8wkAtjE51ZR2Y6oP6o11jO
|
||||
yL5X7Y+1Nk9cPlUbtrvmmyXEKnjUXbRUoK4CJ87dYjFk8CHWmqolY++bgp4Ro6gK
|
||||
k6RAy1XaC6uCaVnlJQKpIZ8XvJyv34ku65KUuLQMlxBbVt7z+ybrMvU7NNpCVTGp
|
||||
kwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
"""
|
||||
|
||||
API_PRIVATE_KEY_PEM = """
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC4ibfAGkwSEWbL
|
||||
jRkE0dSOfpwxV4PDKd50O3DD7TvWZAUjKJ0OfRRgJN8ufx0tAOlt2it4zP1nNvS0
|
||||
zKAzIxvl+w4i2QR3snmNWqk9aqW+ylprmpvnO4Hw0cDFGM9+iaCfRKXVS/CXUZzc
|
||||
3ZQSUJuYn7AQr4LnlhUuPWT/0ZTfgb/9ctxKcEXtuaNzJw/7PzCQC2MTnVlHZjqg
|
||||
/qjXWM7Ivlftj7U2T1w+VRu2u+abJcQqeNRdtFSgrgInzt1iMWTwIdaaqiVj75uC
|
||||
nhGjqAqTpEDLVdoLq4JpWeUlAqkhnxe8nK/fiS7rkpS4tAyXEFtW3vP7Jusy9Ts0
|
||||
2kJVMamTAgMBAAECggEBAKV46EnbysaQ0ApKFVsbBGxZ35jnDoGcM5sqCa3GNlfC
|
||||
DFFAg8SQKAsmRPIejXzjSm10qnKB7d/1iWvt6OCx5LxOaJia3MSwRwqXdxZZYRI5
|
||||
xOakFpQ76gKVMzQJUVX39w2ZstIWbEBjsDLkhXf+y+cJmgj8OHeNPqTd7Ijv13yq
|
||||
B8JVFhtrARTE9X5bxxl5FMrqchVv7HyCS6FBTK+rPPaE3gK2XyiNKHokcV2NfmeF
|
||||
OHqqDn9LPN4ERRU13FNv5/wvH6/Z0AXsRWFkxuCdYcVzG9xEnf/72b0jumRqnSAN
|
||||
bVK+/b37SOky/L0mwfXwhQoMvePgbYE1qv2Lx4maVcECgYEA5Im7Ys2FfFAGWV3Y
|
||||
eNizNHmJYXuvLVsEEYtxT1tM/yPTvlljA27s5rrXdtRDS67Hnj28b9nrHp0COlZp
|
||||
GycbppQcPEKiDupLlvstdQ+b+t1MO3xAqW2ZeM47A1SmPKa7XmTAL+6ZReeN/Eg6
|
||||
QCmqY5HHANhX+OwN+zwAg9ZQlBECgYEAzrZ1qr8RBBP4/0NY3WMkAiJpluIOc6kO
|
||||
8lP0tNk6FJ9OaIMAI6FKxh/7KKcgWzINWSVqz+8te5HUCUt5JWZXcn2NMkk2ufm4
|
||||
4OV0vXz3ba6RhIXtDxJW9qbihhZ+EJYPvgwWUF3W1Onu4BuirD+74LSTWG8Ko3lK
|
||||
m0qbAl5s92MCgYEAuJQxHwyE6jEr35O3GWtT2WbruSsPAd/Hum/X9VL1Lf/+rXc+
|
||||
S/CUL4nqKdQoAgFIwhp0jhYAGrqOqRVPUJnWcEShRV4/yzIaGPgG78vKm+OOBWFG
|
||||
TFDzqilOalM87DFxlTxkKJJZgqcQ+xhOy7GbJ03+30TcUHQ+mpIMjG5UqDECgYBG
|
||||
yc8T0OiX1+seJ0cIUYokPPqh0/oU+6EFtWCIihdMtp1YRvxGN1bu8EbHTixTbpmJ
|
||||
nLmuSX7u4SqWoET1XM23hG1U+iOGnpEEWy+WMHRfGDf3BRIAZkxnnRDX0F4NegYc
|
||||
E/GURf5q3U2Ta4NSr2S8d7o5v5UKFGBLO8pHjmSMdwKBgQCbZMPV/ogqNbsuEXsP
|
||||
rZQg+DTonX55os7Dnii715NAzzP7zaZ/RF/zEJrYKKATiaYFNIpz66wuAIX6UrcO
|
||||
N1mb6IlkRXoou2mawSFAPuwOFyKHDfohlA7lCiUsgB40uc90pa1evX8tctSXOuzh
|
||||
qlOfAYmntqZaggU8f3gGh7EPjw==
|
||||
-----END PRIVATE KEY-----
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue