Browse Source

Move os comandos manage.py de UI para dentro do Dockerfile

pull/1062/head
Edward Ribeiro 9 years ago
parent
commit
3cfbe36735
  1. 5
      Dockerfile
  2. 12
      config/env-dockerfile
  3. 24
      sapl/settings.py
  4. 16
      start.sh

5
Dockerfile

@ -25,10 +25,13 @@ WORKDIR /var/interlegis/sapl/
ADD . /var/interlegis/sapl/ ADD . /var/interlegis/sapl/
COPY start.sh /var/interlegis/sapl/ COPY start.sh /var/interlegis/sapl/
COPY config/env-dockerfile /var/interlegis/sapl/sapl/.env
RUN chmod +x /var/interlegis/sapl/start.sh RUN chmod +x /var/interlegis/sapl/start.sh
RUN pip install -r /var/interlegis/sapl/requirements/requirements.txt --upgrade setuptools RUN pip install -r /var/interlegis/sapl/requirements/requirements.txt --upgrade setuptools
VOLUME ["/var/interlegis/sapl/data", "/var/interlegis/sapl/media", "/var/interlegis/sapl/collected_static"] RUN python3 manage.py bower install && python3 manage.py collectstatic --no-input
VOLUME ["/var/interlegis/sapl/data", "/var/interlegis/sapl/media"]
ENTRYPOINT ["/var/interlegis/sapl/start.sh"] ENTRYPOINT ["/var/interlegis/sapl/start.sh"]

12
config/env-dockerfile

@ -0,0 +1,12 @@
DATABASE_URL = postgresql://sapl:sapl@localhost:5432/sapl
SECRET_KEY=0x+c_w3_s@hf5ls*+n8cdp1)n_kq#d6k8m=admcw7jojtbaqw8
DEBUG=False
DOCKER_FILE=True
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST =
EMAIL_HOST_USER =
EMAIL_HOST_PASSWORD =
EMAIL_SEND_USER =
DEFAULT_FROM_EMAIL =
SERVER_EMAIL =

24
sapl/settings.py

@ -14,6 +14,7 @@ See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
""" """
import logging import logging
import os
from decouple import config from decouple import config
from dj_database_url import parse as db_url from dj_database_url import parse as db_url
@ -31,6 +32,8 @@ SECRET_KEY = config('SECRET_KEY', default='')
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = config('DEBUG', default=False, cast=bool) DEBUG = config('DEBUG', default=False, cast=bool)
DOCKER_FILE = config('DOCKER_FILE', default=False, cast=bool)
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']
@ -160,13 +163,20 @@ WSGI_APPLICATION = 'sapl.wsgi.application'
# Database # Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases # https://docs.djangoproject.com/en/1.8/ref/settings/#databases
if DOCKER_FILE:
DATABASES = { DATABASES = {
'default': config( 'default': {
'DATABASE_URL', default='sqlite://:memory:', 'ENGINE': 'django.db.backends.sqlite3',
cast=db_url, 'NAME': os.path.join(PROJECT_DIR, 'sapl.db'),
) }
} }
else:
DATABASES = {
'default': config(
'DATABASE_URL', default='sqlite://:memory:',
cast=db_url,
)
}
# troque no caso de reimplementação da classe User conforme # troque no caso de reimplementação da classe User conforme
# https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#substituting-a-custom-user-model # https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#substituting-a-custom-user-model

16
start.sh

@ -40,13 +40,15 @@ create_env() {
create_env create_env
python3 manage.py bower install # python3 manage.py bower install
echo 'DATABASE: '$DATABASE_URL
/bin/sh busy-wait.sh $DATABASE_URL /bin/sh busy-wait.sh $DATABASE_URL
python3 manage.py migrate python3 manage.py migrate
python3 manage.py collectstatic --no-input # python3 manage.py collectstatic --no-input
python3 manage.py rebuild_index --noinput python3 manage.py rebuild_index --noinput &
user_created=$(python3 create_admin.py 2>&1) user_created=$(python3 create_admin.py 2>&1)
@ -58,12 +60,12 @@ lack_pwd=$?
if [ $user_exists -eq 0 ]; then if [ $user_exists -eq 0 ]; then
echo "[SUPERUSER CREATION] User admin already exists. Not creating" echo "[SUPERUSER CREATION] User admin already exists. Not creating"
fi fi
if [ $lack_pwd -eq 0 ]; then if [ $lack_pwd -eq 0 ]; then
echo "[SUPERUSER] Environment variable $ADMIN_PASSWORD for superuser admin was not set. Leaving container" echo "[SUPERUSER] Environment variable ADMIN_PASSWORD for superuser admin was not set. Leaving container"
# return -1 # return -1
fi fi
/bin/sh gunicorn_start.sh no-venv /bin/sh gunicorn_start.sh no-venv

Loading…
Cancel
Save