mirror of
https://github.com/HaitiData/haitidata.git
synced 2026-10-27 01:45:40 +00:00
195 lines
5.2 KiB
YAML
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:
|