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: