Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Port dockerization stuff from geonode
- Loading branch information
1 parent
a65ba6f
commit 28a518e
Showing
8 changed files
with
394 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
COMPOSE_PROJECT_NAME=starterkit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,8 @@ | ||
FROM terranodo/django:geonode | ||
MAINTAINER Ariel Núñez<ariel@terranodo.io> | ||
FROM geonode/geonode:latest | ||
MAINTAINER Starterkit development team | ||
|
||
COPY requirements.txt /usr/src/app/ | ||
RUN pip install -r requirements.txt --no-deps | ||
|
||
EXPOSE 8000 | ||
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,146 @@ | ||
version: '2' | ||
version: '2.2' | ||
services: | ||
|
||
postgres: | ||
image: postgres | ||
db: | ||
image: geonode/postgis:9.6 | ||
restart: unless-stopped | ||
container_name: db4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: db | ||
org.geonode.instance.name: geonode | ||
volumes: | ||
- dbdata:/var/lib/postgresql/data | ||
- dbbackups:/pg_backups | ||
env_file: | ||
- ./scripts/docker/env/production/db.env | ||
|
||
elasticsearch: | ||
image: elasticsearch | ||
image: elasticsearch | ||
restart: unless-stopped | ||
container_name: elasticsearch4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: elasticsearch | ||
org.geonode.instance.name: geonode | ||
|
||
rabbitmq: | ||
image: rabbitmq | ||
image: rabbitmq | ||
restart: unless-stopped | ||
container_name: rabbitmq4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: rabbitmq | ||
org.geonode.instance.name: geonode | ||
|
||
django: | ||
build: . | ||
links: | ||
- postgres | ||
restart: unless-stopped | ||
image: geonode/geonode:latest | ||
container_name: django4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: django | ||
org.geonode.instance.name: geonode | ||
depends_on: | ||
- db | ||
- elasticsearch | ||
- rabbitmq | ||
environment: | ||
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres | ||
- BROKER_URL=amqp://guest:guest@rabbitmq:5672/ | ||
- DJANGO_SETTINGS_MODULE={{project_name}}.settings | ||
- GEOSERVER_BASE_URL="http://geoserver:8080/geoserver/" | ||
- ALLOWED_HOSTS=['django',] | ||
command: django-admin.py runserver 0.0.0.0:8000 --settings=geonode.settings | ||
volumes: | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
env_file: | ||
- ./scripts/docker/env/production/django.env | ||
|
||
celery: | ||
build: . | ||
links: | ||
restart: unless-stopped | ||
image: geonode/geonode:latest | ||
container_name: celery4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: celery | ||
org.geonode.instance.name: geonode | ||
depends_on: | ||
- db | ||
- elasticsearch | ||
- rabbitmq | ||
command: celery worker --app=geonode.celery_app:app -B -l INFO | ||
volumes: | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
env_file: | ||
- ./scripts/docker/env/production/celery.env | ||
|
||
consumers: | ||
image: geonode/geonode:latest | ||
restart: unless-stopped | ||
container_name: consumers4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: consumers | ||
org.geonode.instance.name: geonode | ||
depends_on: | ||
- rabbitmq | ||
- postgres | ||
- db | ||
- elasticsearch | ||
command: celery worker --app={{project_name}}.celeryapp:app -B -l INFO | ||
environment: | ||
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres | ||
- BROKER_URL=amqp://guest:guest@rabbitmq:5672/ | ||
- GEOSERVER_BASE_URL="http://geoserver:8080/geoserver/" | ||
- DJANGO_SETTINGS_MODULE={{project_name}}.settings | ||
- ALLOWED_HOSTS=['django',] | ||
- C_FORCE_ROOT=1 | ||
command: python manage.py runmessaging | ||
volumes: | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
env_file: | ||
- ./scripts/docker/env/production/django.env | ||
|
||
geoserver: | ||
image: waybarrios/geoserver | ||
links: | ||
- postgres | ||
ports: | ||
- "8080" | ||
image: geonode/geoserver:2.12.x | ||
restart: unless-stopped | ||
container_name: geoserver4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: geoserver | ||
org.geonode.instance.name: geonode | ||
depends_on: | ||
- db | ||
volumes: | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
- geoserver-data-dir:/geoserver_data/data | ||
env_file: | ||
- ./scripts/docker/env/production/geoserver.env | ||
|
||
nginx: | ||
image: terranodo/nginx:geoserver | ||
links: | ||
geonode: | ||
image: geonode/nginx:geoserver | ||
restart: unless-stopped | ||
container_name: nginx4${COMPOSE_PROJECT_NAME} | ||
stdin_open: true | ||
# tty: true | ||
labels: | ||
org.geonode.component: nginx | ||
org.geonode.instance.name: geonode | ||
depends_on: | ||
- django | ||
- geoserver | ||
ports: | ||
- "80:80" | ||
|
||
data-dir-conf: | ||
image: geonode/geoserver_data:2.12.x | ||
restart: on-failure | ||
container_name: gsconf4${COMPOSE_PROJECT_NAME} | ||
labels: | ||
org.geonode.component: conf | ||
org.geonode.instance.name: geonode | ||
command: /bin/true | ||
volumes: | ||
- geoserver-data-dir:/geoserver_data/data | ||
|
||
volumes: | ||
|
||
geoserver-data-dir: | ||
name: ${COMPOSE_PROJECT_NAME}-gsdatadir | ||
dbdata: | ||
name: ${COMPOSE_PROJECT_NAME}-dbdata | ||
dbbackups: | ||
name: ${COMPOSE_PROJECT_NAME}-dbbackups |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
/usr/local/bin/invoke update >> /usr/src/app/invoke.log | ||
|
||
source $HOME/.override_env | ||
|
||
echo DATABASE_URL=$DATABASE_URL | ||
echo GEODATABASE_URL=$GEODATABASE_URL | ||
echo SITEURL=$SITEURL | ||
echo ALLOWED_HOSTS=$ALLOWED_HOSTS | ||
echo GEOSERVER_PUBLIC_LOCATION=$GEOSERVER_PUBLIC_LOCATION | ||
|
||
/usr/local/bin/invoke waitfordbs >> /usr/src/app/invoke.log | ||
|
||
echo "waitfordbs task done" | ||
|
||
/usr/local/bin/invoke migrations >> /usr/src/app/invoke.log | ||
echo "migrations task done" | ||
/usr/local/bin/invoke prepare >> /usr/src/app/invoke.log | ||
echo "prepare task done" | ||
/usr/local/bin/invoke fixtures >> /usr/src/app/invoke.log | ||
echo "fixture task done" | ||
|
||
cmd="$@" | ||
|
||
echo DOCKER_ENV=$DOCKER_ENV | ||
|
||
if [ -z ${DOCKER_ENV} ] || [ ${DOCKER_ENV} = "development" ] | ||
then | ||
|
||
echo "Executing standard Django server $cmd for Development" | ||
|
||
else | ||
|
||
if [ ${IS_CELERY} = "true" ] | ||
then | ||
|
||
cmd=$CELERY_CMD | ||
echo "Executing Celery server $cmd for Production" | ||
|
||
else | ||
|
||
cmd=$UWSGI_CMD | ||
echo "Executing UWSGI server $cmd for Production" | ||
|
||
fi | ||
|
||
fi | ||
|
||
exec $cmd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.