Skip to content

Commit

Permalink
docker-compose v3 working
Browse files Browse the repository at this point in the history
  • Loading branch information
Florian Mayer authored and Florian Mayer committed Jul 7, 2017
1 parent de4e562 commit 922d0eb
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 27 deletions.
14 changes: 9 additions & 5 deletions Dockerfile
Expand Up @@ -3,11 +3,6 @@
FROM debian:jessie
MAINTAINER Open Knowledge

ENV CKAN_HOME /usr/lib/ckan/default
ENV CKAN_CONFIG /etc/ckan/default
ENV CKAN_STORAGE_PATH /var/lib/ckan
ENV CKAN_SITE_URL http://localhost:5000

# Install required packages
RUN apt-get -q -y update && apt-get -q -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -q -y install \
python-dev \
Expand All @@ -17,6 +12,15 @@ RUN apt-get -q -y update && apt-get -q -y upgrade && DEBIAN_FRONTEND=noninteract
git-core \
&& apt-get -q clean

# Define environment variables
ENV CKAN_HOME /usr/lib/ckan/default
ENV CKAN_CONFIG /etc/ckan/default
ENV CKAN_STORAGE_PATH /var/lib/ckan

# Build-time variables specified by docker-compose.yml / .env or
# docker build . -t chan --build-arg CKAN_SITE_URL=http://localhost:5000
ARG CKAN_SITE_URL

# SetUp Virtual Environment CKAN
RUN mkdir -p $CKAN_HOME $CKAN_CONFIG $CKAN_STORAGE_PATH
RUN virtualenv $CKAN_HOME
Expand Down
6 changes: 5 additions & 1 deletion contrib/docker/ckan-entrypoint.sh
Expand Up @@ -65,6 +65,9 @@ if [ ! -e "$CONFIG" ]; then
fi

# Set environment variables
echo "SQL_ALCHEMY_URL is provided to entrypoint as $CKAN_SQLALCHEMY_URL"


if [ -z "$CKAN_SQLALCHEMY_URL" ]; then
if ! CKAN_SQLALCHEMY_URL=$(link_postgres_url); then
abort "ERROR: no CKAN_SQLALCHEMY_URL specified and linked container called 'db' was not found"
Expand All @@ -75,6 +78,7 @@ if [ -z "$CKAN_SQLALCHEMY_URL" ]; then
export PGDATABASE=${DB_ENV_POSTGRES_DB}
export PGUSER=${DB_ENV_POSTGRES_USER}
export PGPASSWORD=${DB_ENV_POSTGRES_PASSWORD}
echo "PG password is $PGPASSWORD"

# wait for postgres db to be available, immediately after creation
# its entrypoint creates the cluster and dbs and this can take a moment
Expand All @@ -90,7 +94,7 @@ if [ -z "$CKAN_SOLR_URL" ]; then
abort "ERROR: no CKAN_SOLR_URL specified and linked container called 'solr' was not found"
fi
fi

if [ -z "$CKAN_REDIS_URL" ]; then
if ! CKAN_REDIS_URL=$(link_redis_url); then
abort "ERROR: no CKAN_REDIS_URL specified and linked container called 'redis' was not found"
Expand Down
55 changes: 35 additions & 20 deletions contrib/docker/docker-compose.yml
Expand Up @@ -3,30 +3,45 @@
# able to connect to the DB, then most likely the DB has not
# started up quickly enough. Just do "docker-compose up ckan"
# again to retry
ckan:
container_name: ckan
# Note, if you are working on CKAN core, change this to
# build ../../
image: ckan/ckan:latest
links:
version: "3"
services:
ckan:
container_name: ckan
build:
context: ../../
args:
- CKAN_SITE_URL=${CKAN_SITE_URL}
links:
- db
- solr
- redis
ports:
ports:
- "80:5000"
environment:
environment:
- CKAN_SQLALCHEMY_URL=postgresql://ckan:${POSTGRES_PASSWORD}@db/ckan
- CKAN_SITE_URL=${CKAN_SITE_URL}
- DB_PORT_5432_TCP_ADDR=db
- DB_PORT_5432_TCP_PORT=5432
- SOLR_PORT_8983_TCP_ADDR=solr
- SOLR_PORT_8983_TCP_PORT=8983
- REDIS_PORT_6379_TCP_ADDR=redis

db:
container_name: db
build: postgresql/

solr:
container_name: solr
image: ckan/solr:latest

redis:
container_name: redis
image: redis:latest
db:
container_name: db
build:
context: postgresql/
args:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
solr:
container_name: solr
image: ckan/solr:latest
ports:
- "8983:8983"
redis:
container_name: redis
image: redis:latest
ports:
- "6379:6379"
4 changes: 3 additions & 1 deletion contrib/docker/postgresql/Dockerfile
Expand Up @@ -6,5 +6,7 @@ RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/postgresql/data/pg_hba.co

# Customize default user/pass/db
ENV POSTGRES_USER ckan
ENV POSTGRES_PASSWORD ckan
ARG POSTGRES_PASSWORD
ENV POSTGRES_DB ckan

RUN echo "Building postgres:9.6 with user $POSTGRES_USER, pw $POSTGRES_PASSWORD, db $POSTGRES_DB"

0 comments on commit 922d0eb

Please sign in to comment.