forked from ckan/ckan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
103 lines (96 loc) · 3.05 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# docker-compose build && docker-compose up -d
# If "docker-compose logs ckan" shows DB not ready, run "docker-compose restart ckan" a few times.
version: "3.6"
services:
ckan:
depends_on:
- ckan-db
container_name: ${COMPOSE_PROJECT_NAME}-ckan
build:
context: ../../
args:
- CKAN_SITE_URL=${CKAN_SITE_URL}
links:
- ckan-db
- ckan-solr
- ckan-redis
ports:
- "0.0.0.0:${CKAN_PORT:-5000}:5000"
environment:
#Defaults work with linked containers, change to use own Postgres, SolR, Redis or Datapusher
CKAN_SQLALCHEMY_URL: "postgresql://ckan:${POSTGRES_PASSWORD}@ckan-db/ckan"
CKAN_DATASTORE_WRITE_URL: "postgresql://ckan:${POSTGRES_PASSWORD}@ckan-db/datastore"
CKAN_DATASTORE_READ_URL: "postgresql://datastore_ro:${DATASTORE_READONLY_PASSWORD}@ckan-db/datastore"
CKAN_SOLR_URL: "http://ckan-solr:8983/solr/ckan"
CKAN_REDIS_URL: "redis://ckan-redis:6379/1"
CKAN_DATAPUSHER_URL: "http://ckan-datapusher:8800"
CKAN_SITE_URL: ${CKAN_SITE_URL}
CKAN_MAX_UPLOAD_SIZE_MB: ${CKAN_MAX_UPLOAD_SIZE_MB}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
DS_RO_PASS: ${DATASTORE_READONLY_PASSWORD}
# letsencrypt-nginx-proxy-companion Host
VIRTUAL_PORT: ${CKAN_PORT:-5000}
VIRTUAL_HOST: ${VIRTUAL_HOST}
LETSENCRYPT_HOST: ${LETSENCRYPT_HOST}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
restart: always
volumes:
- config:/etc/ckan
- home:/usr/lib/ckan
- storage:/var/lib/ckan
ckan-datapusher:
container_name: ${COMPOSE_PROJECT_NAME}-datapusher
image: clementmouchet/datapusher
restart: always
ports:
- "8800:8800"
ckan-db:
container_name: ${COMPOSE_PROJECT_NAME}-postgis
networks:
default:
aliases:
- db
build:
context: ../../
dockerfile: contrib/docker/postgresql/Dockerfile
args:
- DS_RO_PASS=${DATASTORE_READONLY_PASSWORD}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
# HOST:CONTAINER !
ports:
- "0.0.0.0:${POSTGRES_PORT:-5432}:5432"
environment:
- DS_RO_PASS=${DATASTORE_READONLY_PASSWORD}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
restart: always
volumes:
- pg-data:/var/lib/postgresql/data
ckan-solr:
container_name: ${COMPOSE_PROJECT_NAME}-solr
build:
context: ../../
dockerfile: contrib/docker/solr/Dockerfile
volumes:
- solr_data:/opt/solr/server/solr/ckan/data
restart: always
ckan-redis:
container_name: ${COMPOSE_PROJECT_NAME}-redis
image: redis:latest
restart: always
volumes:
config:
name: ${COMPOSE_PROJECT_NAME}_config
home:
name: ${COMPOSE_PROJECT_NAME}_home
storage:
name: ${COMPOSE_PROJECT_NAME}_storage
pg-data:
name: ${COMPOSE_PROJECT_NAME}_pg-data
solr_data:
name: ${COMPOSE_PROJECT_NAME}_solr_data
networks:
default:
external:
name: ${NETWORK:-clarity}