Skip to content

Composition

Luke Campbell edited this page Sep 15, 2016 · 1 revision

Example Docker Compose

Here's an example docker-compose.yml file to run the project

version: '2'

# should we add hostname to dockerfile

services:

  solr:
    image: lukecampbell/docker-ckan-solr
    container_name: solr
    volumes:
      - solr_core_data:/opt/solr/example/solr

  postgis:
    image: mdillon/postgis:9.3
    container_name: postgis
    # Override these in a production environment
    env_file: envfile
    volumes:
      - pg_data:/var/lib/postgresql/data

  redis:
    image: redis:3.0.7-alpine
    container_name: ckan_redis

  ckan:
    image: ioos/catalog-docker-ckan:latest
    container_name: ckan
    env_file: envfile
    ports:
      - "8080:8080"

  harvester:
    image: ioos/catalog-docker-ckan-harvest:latest
    container_name: harvester
    env_file: envfile

  pycsw:
    image: ioos/catalog-docker-pycsw:latest
    container_name: pycsw
    env_file: envfile
    ports:
      - "8081:8080"

volumes:
  solr_core_data:
    external:
      name: solr_core_data

  pg_data:
    external:
      name: pg_data

Here's an example environment file to accompany it:

POSTGRES_USER=ckanadmin
POSTGRES_PASSWORD=changeme
POSTGRES_DB=ckan
POSTGRES_HOST=postgis
POSTGRES_PORT=5432
CKAN_INIT=true
REDIS_URL=redis://redis/5
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=5
SOLR_HOST=solr
SOLR_PORT=8983
CKAN_DEBUG=false