dockerfile for patchwork patch tracking software
Change-Id: I4095148d2c8a1b6ba9beafda053c38022b147819
This commit is contained in:
parent
aa1ccdabb7
commit
934c181542
|
@ -0,0 +1 @@
|
||||||
|
Dockerfile.fdo
|
|
@ -0,0 +1,47 @@
|
||||||
|
FROM debian
|
||||||
|
|
||||||
|
# freedesktop.org version of patchwork
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
git \
|
||||||
|
libjs-jquery \
|
||||||
|
python3 \
|
||||||
|
python3-celery \
|
||||||
|
python3-django \
|
||||||
|
python3-django-jsonfield \
|
||||||
|
python3-django-filters \
|
||||||
|
python3-djangorestframework \
|
||||||
|
python3-mysqldb \
|
||||||
|
python3-pip \
|
||||||
|
python3-psycopg2 \
|
||||||
|
python3-sqlparse \
|
||||||
|
wget && \
|
||||||
|
apt-get clean
|
||||||
|
|
||||||
|
RUN pip3 install drf-nested-routers
|
||||||
|
|
||||||
|
WORKDIR /opt
|
||||||
|
|
||||||
|
ARG VERSION_TAG=2.0.1
|
||||||
|
|
||||||
|
#RUN wget https://github.com/getpatchwork/patchwork/archive/v$VERSION_TAG.tar.gz && \
|
||||||
|
#tar xzf v$VERSION_TAG.tar.gz && \
|
||||||
|
#mv patchwork-$VERSION_TAG patchwork && \
|
||||||
|
#rm v$VERSION_TAG.tar.gz
|
||||||
|
|
||||||
|
RUN git clone https://github.com/dlespiau/patchwork
|
||||||
|
|
||||||
|
WORKDIR /opt/patchwork
|
||||||
|
|
||||||
|
COPY production.py patchwork/settings/production.py
|
||||||
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
|
||||||
|
RUN mkdir -p /var/www/patchwork
|
||||||
|
VOLUME /var/www/patchwork
|
||||||
|
|
||||||
|
#RUN DJANGO_SECRET_KEY=foo python3 manage.py collectstatic
|
||||||
|
|
||||||
|
CMD /docker-entrypoint.sh
|
|
@ -0,0 +1,42 @@
|
||||||
|
FROM debian
|
||||||
|
|
||||||
|
# upstream version of patchwork
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
git \
|
||||||
|
libjs-jquery \
|
||||||
|
python3 \
|
||||||
|
python3-celery \
|
||||||
|
python3-django \
|
||||||
|
python3-django-filters \
|
||||||
|
python3-djangorestframework \
|
||||||
|
python3-mysqldb \
|
||||||
|
python3-psycopg2 \
|
||||||
|
python3-sqlparse \
|
||||||
|
wget && \
|
||||||
|
apt-get clean
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /opt
|
||||||
|
|
||||||
|
ARG VERSION_TAG=2.0.1
|
||||||
|
|
||||||
|
RUN wget https://github.com/getpatchwork/patchwork/archive/v$VERSION_TAG.tar.gz && \
|
||||||
|
tar xzf v$VERSION_TAG.tar.gz && \
|
||||||
|
mv patchwork-$VERSION_TAG patchwork && \
|
||||||
|
rm v$VERSION_TAG.tar.gz
|
||||||
|
|
||||||
|
WORKDIR /opt/patchwork
|
||||||
|
|
||||||
|
COPY production.py patchwork/settings/production.py
|
||||||
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
|
||||||
|
RUN mkdir -p /var/www/patchwork
|
||||||
|
VOLUME /var/www/patchwork
|
||||||
|
|
||||||
|
#RUN DJANGO_SECRET_KEY=foo python3 manage.py collectstatic
|
||||||
|
|
||||||
|
CMD /docker-entrypoint.sh
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
python3 manage.py check
|
||||||
|
python3 manage.py migrate
|
||||||
|
python3 manage.py collectstatic --noinput
|
||||||
|
python3 manage.py loaddata default_tags default_states
|
||||||
|
python3 manage.py runserver 0.0.0.0:8000
|
|
@ -0,0 +1,82 @@
|
||||||
|
"""
|
||||||
|
Sample production-ready settings for patchwork project.
|
||||||
|
|
||||||
|
Most of these are commented out as they will be installation dependent.
|
||||||
|
|
||||||
|
Design based on:
|
||||||
|
http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
import django
|
||||||
|
|
||||||
|
from .base import * # noqa
|
||||||
|
|
||||||
|
#
|
||||||
|
# Core settings
|
||||||
|
# https://docs.djangoproject.com/en/1.8/ref/settings/#core-settings
|
||||||
|
#
|
||||||
|
|
||||||
|
# Security
|
||||||
|
#
|
||||||
|
# You'll need to replace this to a random string. The following python code can
|
||||||
|
# be used to generate a secret key:
|
||||||
|
#
|
||||||
|
# import string, random
|
||||||
|
# chars = string.letters + string.digits + string.punctuation
|
||||||
|
# print repr("".join([random.choice(chars) for i in range(0,50)]))
|
||||||
|
|
||||||
|
SECRET_KEY = os.environ['DJANGO_SECRET_KEY']
|
||||||
|
|
||||||
|
# Email
|
||||||
|
#
|
||||||
|
# Replace this with your own details
|
||||||
|
|
||||||
|
EMAIL_HOST = os.getenv('EMAIL_HOST', 'localhost')
|
||||||
|
EMAIL_PORT = os.getenv('EMAIL_PORT', 25)
|
||||||
|
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER', '')
|
||||||
|
EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD', '')
|
||||||
|
EMAIL_USE_TLS = True
|
||||||
|
|
||||||
|
DEFAULT_FROM_EMAIL = 'Patchwork <patchwork@lists.osmocom.org>'
|
||||||
|
SERVER_EMAIL = DEFAULT_FROM_EMAIL
|
||||||
|
NOTIFICATION_FROM_EMAIL = DEFAULT_FROM_EMAIL
|
||||||
|
|
||||||
|
ADMINS = (
|
||||||
|
('Holger Freyther', 'holger@freyther.de'),
|
||||||
|
('Holger Freyther', 'holger+p@freyther.de'),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Database
|
||||||
|
#
|
||||||
|
# If you're using a postgres database, connecting over a local unix-domain
|
||||||
|
# socket, then the following setting should work for you. Otherwise,
|
||||||
|
# see https://docs.djangoproject.com/en/1.8/ref/settings/#databases
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.mysql',
|
||||||
|
'NAME': os.environ.get('DATABASE_NAME', ''),
|
||||||
|
'USER': os.environ.get('DATABASE_USER', ''),
|
||||||
|
'PASSWORD': os.environ.get('DATABASE_PASSWORD', ''),
|
||||||
|
'HOST': os.environ.get('DATABASE_HOST', ''),
|
||||||
|
'PORT': os.environ.get('DATABASE_PORT', ''),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Static files settings
|
||||||
|
# https://docs.djangoproject.com/en/1.8/ref/settings/#static-files
|
||||||
|
# https://docs.djangoproject.com/en/1.8/ref/contrib/staticfiles/#manifeststaticfilesstorage
|
||||||
|
#
|
||||||
|
|
||||||
|
STATIC_ROOT = os.environ.get('STATIC_ROOT', '/var/www/patchwork')
|
||||||
|
|
||||||
|
if django.VERSION >= (1, 7):
|
||||||
|
STATICFILES_STORAGE = \
|
||||||
|
'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = ['*']
|
Loading…
Reference in New Issue