[damned-lies] feat #85: use Damned Lies in Docker
- From: Claude Paroz <claudep src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [damned-lies] feat #85: use Damned Lies in Docker
- Date: Sun, 3 Mar 2019 17:38:59 +0000 (UTC)
commit bc22f77c3e2559869888bc86b1b8ab51b89a07b5
Author: Guillaume Bernard <associations guillaume-bernard fr>
Date: Fri Feb 8 10:42:22 2019 +0100
feat #85: use Damned Lies in Docker
- Provide a Dockerfile to build an image that includes requirements.
- Start Damned Lies using docker-compose
Dockerfile | 18 ++++++++++++++++++
docker-compose.yml | 17 +++++++++++++++++
docker-entrypoint.sh | 24 ++++++++++++++++++++++++
3 files changed, 59 insertions(+)
---
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..bfee8702
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+FROM python:slim
+MAINTAINER Guillaume Bernard <associations guillaume-bernard fr>
+
+ENV PYTHONUNBUFFERED 1
+ENV PYTHONDONTWRITEBYTECODE 1
+
+# Let this first for caching reasons
+RUN apt update && \
+ apt install -y gettext intltool gnome-doc-utils itstool libmariadbclient-dev libicu-dev build-essential
+
+# Implicitely creates /damnedlies directory
+WORKDIR /damnedlies
+
+COPY requirements.txt /damnedlies/requirements.txt
+RUN pip3 install -r requirements.txt
+
+COPY . /damnedlies/
+ENTRYPOINT /damnedlies/docker-entrypoint.sh
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000..b8d5bd92
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,17 @@
+version: "3"
+
+services:
+
+ damned-lies:
+ build: .
+ image: damned-lies
+ container_name: damned-lies
+ hostname: damned-lies
+ environment:
+ - DJANGO_ROOT_LOGIN=root
+ - DJANGO_ROOT_PASSWORD=root
+ ports:
+ - 8080:8080
+ volumes:
+ - .:/damnedlies
+ entrypoint: /damnedlies/docker-entrypoint.sh
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100755
index 00000000..9ad7102a
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# Initialize SECRET_KEY for Django if none is already given
+local_settings="./damnedlies/local_settings.py"
+if ! grep 'SECRET_KEY' "${local_settings}" &> /dev/null ; then
+ echo "SECRET_KEY = 'supersecretkey'" >> "${local_settings}"
+fi
+
+# Prepare database migration
+python3 ./manage.py migrate
+
+# Create super user with root and root credentials
+python3 ./manage.py shell <<< "
+from django.contrib.auth.models import User
+
+if User.objects.filter(username='${DJANGO_ROOT_LOGIN}').count() == 0:
+ User.objects.create_superuser('${DJANGO_ROOT_LOGIN}', '', '${DJANGO_ROOT_PASSWORD}')
+"
+
+# Load sample data into database
+python3 ./manage.py loaddata sample_data
+
+# Run webserver
+python3 ./manage.py runserver 0.0.0.0:8080
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]