mirror of https://github.com/interlegis/sapl.git
Browse Source
* Adiciona Docker baseado em Alpine-Python3 com Ngnix e Gunicorn * Atualiza docker-compose com gunicorn, ngnix e postgres * Ajusta gitignore para ignorar postgres-data * Adiciona script bash para conexao ao banco * Ajusta busy-wait.sh script para sincronizar o banco(postgres) com a aplicação django no docker * Add alias to sapldbpull/1000/head
Matheus Veleci dos Santos
8 years ago
committed by
Edward
9 changed files with 93 additions and 60 deletions
@ -1,53 +1,26 @@ |
|||
FROM ubuntu:15.04 |
|||
FROM alpine:3.5 |
|||
|
|||
RUN locale-gen en_US.UTF-8 |
|||
ENV LANG en_US.UTF-8 |
|||
ENV LANGUAGE en_US:en |
|||
ENV LC_ALL en_US.UTF-8 |
|||
ENV BUILD_PACKAGES postgresql-dev graphviz-dev graphviz build-base git pkgconfig \ |
|||
python3-dev libxml2-dev jpeg-dev libressl-dev libffi-dev libxslt-dev nodejs py3-lxml \ |
|||
py3-magic postgresql-client |
|||
|
|||
RUN mkdir /sapl |
|||
RUN apk add --no-cache python3 && \ |
|||
python3 -m ensurepip && \ |
|||
rm -r /usr/lib/python*/ensurepip && \ |
|||
pip3 install --upgrade pip setuptools && \ |
|||
rm -r /root/.cache |
|||
|
|||
RUN echo "deb http://archive.ubuntu.com/ubuntu/ vivid universe" | tee -a "/etc/apt/sources.list" |
|||
|
|||
RUN \ |
|||
apt-get update && \ |
|||
apt-get install -y -f \ |
|||
software-properties-common \ |
|||
libpq-dev \ |
|||
graphviz-dev \ |
|||
graphviz \ |
|||
build-essential \ |
|||
git \ |
|||
pkg-config \ |
|||
python3-dev \ |
|||
libxml2-dev \ |
|||
libjpeg-dev \ |
|||
libssl-dev \ |
|||
libffi-dev \ |
|||
libxslt1-dev \ |
|||
python3-setuptools \ |
|||
curl |
|||
|
|||
# use python3 in pip |
|||
RUN easy_install3 pip lxml |
|||
|
|||
# install nodejs |
|||
RUN DEBIAN_FRONTEND=noninteractive curl -sL https://deb.nodesource.com/setup_5.x | bash - |
|||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs |
|||
|
|||
# install bower |
|||
RUN npm install -g bower |
|||
RUN mkdir /sapl && apk add --update --no-cache $BUILD_PACKAGES && npm install -g bower |
|||
|
|||
# Bower aceitar root |
|||
RUN touch /root/.bowerrc |
|||
RUN chmod 751 /root/.bowerrc |
|||
RUN echo "{ \"allow_root\": true }" >> /root/.bowerrc |
|||
RUN touch /root/.bowerrc \ |
|||
&& chmod 751 /root/.bowerrc \ |
|||
&& echo "{ \"allow_root\": true }" >> /root/.bowerrc \ |
|||
&& npm cache clean |
|||
|
|||
WORKDIR /sapl |
|||
|
|||
ADD . /sapl |
|||
|
|||
RUN pip install -r requirements/dev-requirements.txt |
|||
RUN pip install --upgrade setuptools |
|||
|
|||
# RUN python3 manage.py bower install |
|||
RUN pip install -r requirements/dev-requirements.txt --upgrade setuptools --no-cache-dir \ |
|||
&& python3 manage.py bower install |
|||
|
@ -0,0 +1,10 @@ |
|||
#!/bin/sh |
|||
|
|||
while true; do |
|||
COUNT_PG=`psql --dbname=postgresql://sapl:sapl@sapldb/sapl -c '\l \q' | grep sapl | wc -l` |
|||
if ! [ "$COUNT_PG" -eq "0" ]; then |
|||
break |
|||
fi |
|||
echo "Esperando Database Setup" |
|||
sleep 10 |
|||
done |
@ -0,0 +1,39 @@ |
|||
upstream sapl_server { |
|||
|
|||
server unix:/sapl/run/gunicorn.sock fail_timeout=0; |
|||
|
|||
} |
|||
|
|||
server { |
|||
|
|||
listen 80; |
|||
server_name sapl.test; |
|||
|
|||
client_max_body_size 4G; |
|||
|
|||
location /static/ { |
|||
alias /sapl/collected_static/; |
|||
} |
|||
|
|||
location /media/ { |
|||
alias /sapl/media/; |
|||
} |
|||
|
|||
location / { |
|||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
|||
|
|||
proxy_set_header Host $http_host; |
|||
|
|||
proxy_redirect off; |
|||
|
|||
|
|||
if (!-f $request_filename) { |
|||
proxy_pass http://sapl_server; |
|||
break; |
|||
} |
|||
} |
|||
error_page 500 502 503 504 /500.html; |
|||
location = /500.html { |
|||
root /sapl/sapl/static/; |
|||
} |
|||
} |
@ -1,17 +1,28 @@ |
|||
localhost: |
|||
server: |
|||
image: nginx:latest |
|||
ports: |
|||
- "80:80" |
|||
volumes: |
|||
- ./config/nginx:/etc/nginx/conf.d |
|||
volumes_from: |
|||
- web |
|||
links: |
|||
- web |
|||
sapldb: |
|||
image: postgres |
|||
environment: |
|||
POSTGRES_PASSWORD: sapl |
|||
POSTGRES_USER: sapl |
|||
POSTGRES_DB: sapl |
|||
PGDATA : /var/lib/postgresql/data/ |
|||
volumes: |
|||
- ./postgres-data/data/:/var/lib/postgresql/data/ |
|||
ports: |
|||
- "5532:5432" |
|||
web: |
|||
build: . |
|||
command: bash -c "python3 manage.py bower install && python3 manage.py migrate && python3 manage.py runserver 0.0.0.0:8000" |
|||
command: /bin/sh -c "/bin/sh busy-wait.sh && python3 manage.py bower install && python3 manage.py migrate && /bin/sh gunicorn_start.sh" |
|||
volumes: |
|||
- .:/sapl |
|||
ports: |
|||
- "8000:8000" |
|||
links: |
|||
- localhost |
|||
- sapldb |
|||
|
@ -1,2 +1,3 @@ |
|||
#!/bin/bash |
|||
docker run -ti sapl_web /bin/bash |
|||
|
|||
docker run --rm -ti sapl_web /bin/sh |
|||
|
Loading…
Reference in new issue