Files
HaitiData/deployment/docker-compose.yml
Dimas Ciputra d81ee546ef Update geoserver dockerfile (#154)
* Geoserver 2.9.x

* 2.10.x

* Update dockerfile

* Change resources version
2017-12-08 09:23:19 +07:00

195 lines
5.2 KiB
YAML

version: '2.0'
services:
postgres:
# Note you cannot scale if you use conteiner_name
container_name: haitidata-postgres
image: kartoza/geonode_db
volumes:
- ./backups:/backups
environment:
- USERNAME=docker
- PASS=docker
- POSTGRES_USER=docker
- POSTGRES_PASS=docker
restart: on-failure
rabbitmq:
container_name: haitidata-rabbitmq
image: rabbitmq
django:
container_name: haitidata-django
build: ./docker
links:
- postgres
- rabbitmq
- geoserver
volumes:
- ../django_project:/home/web/django_project
- ./static:/home/web/static
- ./media:/home/web/media
- ./logs:/var/log/
environment:
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres
- DATABASE_NAME=gis
- DATABASE_USERNAME=docker
- DATABASE_PASSWORD=docker
- DATABASE_HOST=postgres
- RABBITMQ_HOST=rabbitmq
- DJANGO_SETTINGS_MODULE=core.settings.prod_docker
- VIRTUAL_HOST=haitidata.com
- VIRTUAL_PORT=8080
- PROXY_ALLOWED_HOSTS=127.0.0.1
# Ensure to change these based on server domain
- SITEURL=http://127.0.0.1/ # change this to ip or domain location
- GEOSERVER_BASE_URL=http://127.0.0.1:33308/geoserver/ # change this to ip or domain geoserver
# Set your locale - you need to ensure this is created in Dockerfile too...
- LC_ALL=en_US.UTF-8
# This is the entry point for a development server.
# Run with --no-deps to run attached to the services
# from produ environment if wanted
devweb:
# Note you cannot scale if you use conteiner_name
container_name: haitidata-dev-web
build:
context: ./docker
dockerfile: Dockerfile-dev
hostname: haitidata-dev-web
environment:
- DJANGO_SETTINGS_MODULE=core.settings.prod_docker
volumes:
- ../django_project:/home/web/django_project
- ./static:/home/web/static
- ./media:/home/web/media
- ./reports:/home/web/reports
- ./logs:/var/log/
links:
- postgres
- rabbitmq
- geoserver
ports:
# for django test server
- "33303:8080"
# for ssh
- "33302:22"
celery:
container_name: haitidata-celery
image: geonode/django
links:
- rabbitmq
- postgres
command: celery worker --app=geonode.celery_app:app -B -l INFO
environment:
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres
- DATABASE_NAME=gis
- DATABASE_USERNAME=docker
- DATABASE_PASSWORD=docker
- DATABASE_HOST=postgres
- RABBITMQ_HOST=rabbitmq
- DJANGO_SETTINGS_MODULE=core.settings.prod_docker
- VIRTUAL_HOST=haitidata.com
- VIRTUAL_PORT=8080
- PROXY_ALLOWED_HOSTS=127.0.0.1
# Ensure to change these based on server domain
- SITEURL=http://127.0.0.1/ # change this to ip or domain location
- GEOSERVER_BASE_URL=http://127.0.0.1:33308/geoserver/ # change this to ip or domain geoserver
# Set your locale - you need to ensure this is created in Dockerfile too...
- LC_ALL=en_US.UTF-8
geoserver-source:
build: ./docker-geoserver
links:
- postgres
volumes:
- ./geowebcache:/geowebcache
environment:
- DOCKER_HOST
- PUBLIC_PORT=80
- DOCKER_HOST_IP
- DJANGO_URL=http://127.0.0.1/
- SITEURL=http://127.0.0.1/
- GEOSERVER_BASE_URL=http://127.0.0.1:33308/geoserver/
ports:
- "32208:8080"
geoserver:
build: ./docker-geoserver
links:
- postgres
volumes:
- ./geoserver-data:/geoserver_data/data
environment:
- DOCKER_HOST
- PUBLIC_PORT=80
- DOCKER_HOST_IP
- DJANGO_URL=http://127.0.0.1/
- SITEURL=http://127.0.0.1/
- GEOSERVER_BASE_URL=http://127.0.0.1:33308/geoserver/
ports:
- "33308:8080"
lb:
image: dockercloud/haproxy
links:
- geoserver
environment:
- MODE=tcp
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8080:80"
geonode:
# Note you cannot scale if you use conteiner_name
container_name: haitidata-geonode
image: nginx
hostname: nginx
volumes:
- ./sites-enabled:/etc/nginx/conf.d:ro
# I dont use volumes_from as I want to use the ro modifier
- ./static:/home/web/static:ro
- ./media:/home/web/media:ro
- ./logs:/var/log/nginx
# - /etc/letsencrypt:/etc/letsencrypt
- ./webroot-path:/home/web/webroot-path
links:
- django
- geoserver
ports:
- "33300:8080"
restart: always
data_dir_conf:
container_name: haitidata-data
image: geonode/geoserver_data:2.10.x
container_name: geoserver_data_dir
command: /bin/true
volumes:
- /geoserver-data:/geoserver_data/data
dbbackups:
image: kartoza/pg-backup:9.4
hostname: pg-djangobackups
container_name: haitidata-dbbackups
volumes:
- ./backups:/backups
links:
- postgres:db
environment:
- DUMPPREFIX=HAITIDATA
# These are all defaults anyway, but setting explicitly in
# case we ever want to ever use different credentials
- PGUSER=docker
- PGPASSWORD=docker
- PGPORT=5432
- PGHOST=db
- PGDATABASE=gis
volumes:
geoserver_data_dir: