summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/docker-compose.api.yml10
-rw-r--r--docker/docker-compose.base.yml29
-rw-r--r--docker/docker-compose.db.yml23
3 files changed, 23 insertions, 39 deletions
diff --git a/docker/docker-compose.api.yml b/docker/docker-compose.api.yml
index 5c7f6d8..51e5c79 100644
--- a/docker/docker-compose.api.yml
+++ b/docker/docker-compose.api.yml
@@ -31,15 +31,9 @@ services:
# database must be working (healthy) and all the api schema must be loaded.
# It is db-init's job to load the api schema, thus this container depends
# on both postgres and db-init.
- build: ../build/postgrest
+ build: ${CRIMSON_ROOT}/build/postgrest
restart: unless-stopped
- environment:
- - API_SECRET
- - API_ROLE
- - API_SCHEMA
- - POSTGRES_DB
- - POSTGRES_USER
- - POSTGRES_PASSWORD
+ env_file: DOCKER_ENV_FILES
healthcheck:
test: curl -I "http://localhost:3000/"
interval: 10s
diff --git a/docker/docker-compose.base.yml b/docker/docker-compose.base.yml
index 3dcc7b8..066545d 100644
--- a/docker/docker-compose.base.yml
+++ b/docker/docker-compose.base.yml
@@ -30,15 +30,14 @@ services:
#
# HTTP_PORT and HTTP_BIND sets what the external listen address will be for
# the entire crimson stack.
- build: ../build/nginx
+ build: ${CRIMSON_ROOT}/build/nginx
restart: unless-stopped
- environment:
- - API_ENABLED
+ env_file: DOCKER_ENV_FILES
ports:
- ${HTTP_BIND}:${HTTP_PORT}:8080
volumes:
- - ${SOURCE}:/opt/site:ro
- - ../src:/opt/crimson:ro
+ - ${PROJECT_SOURCE}:/opt/site:ro
+ - ${CRIMSON_ROOT}/src:/opt/crimson:ro
depends_on:
php:
condition: service_started
@@ -47,16 +46,13 @@ services:
# There exists some crimson functionaly that MAY be used which requires a
# stamp.php file to be auto generated. This is done in `init`, this `init`
# is an added dependency.
- build: ../build/php
+ build: ${CRIMSON_ROOT}/build/php
restart: unless-stopped
- environment:
- - POSTGRES_DB
- - POSTGRES_USER
- - POSTGRES_PASSWORD
+ env_file: DOCKER_ENV_FILES
volumes:
- - ${SOURCE}:/opt/site:ro
- - ../src:/opt/crimson:ro
- - ${DATA}/crimson:/var/run/crimson
+ - ${PROJECT_SOURCE}:/opt/site:ro
+ - ${CRIMSON_ROOT}/src:/opt/crimson:ro
+ - ${PROJECT_DATA}/crimson:/var/run/crimson
depends_on:
init:
condition: service_completed_successfully
@@ -65,8 +61,9 @@ services:
# Initalizes required files for php. Currently init only generates stamp.php.
# This file hols all file stamps for all public assets, which is used in
# crimsons `asset_stamp` controller function.
- build: ../build/init
+ build: ${CRIMSON_ROOT}/build/init
restart: no
+ env_file: DOCKER_ENV_FILES
volumes:
- - ${SOURCE}:/opt/site
- - ${DATA}/crimson:/var/run/crimson
+ - ${PROJECT_SOURCE}:/opt/site
+ - ${PROJECT_DATA}/crimson:/var/run/crimson
diff --git a/docker/docker-compose.db.yml b/docker/docker-compose.db.yml
index 4979bbe..b5cf34d 100644
--- a/docker/docker-compose.db.yml
+++ b/docker/docker-compose.db.yml
@@ -25,16 +25,14 @@ services:
# This service stack is only enabled when API_ENABLED=true.
postgres:
- build: ../build/postgres
+ build: ${CRIMSON_ROOT}/build/postgres
restart: unless-stopped
+ env_file: DOCKER_ENV_FILES
environment:
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
- - POSTGRES_DB
- - POSTGRES_USER
- - POSTGRES_PASSWORD
volumes:
- - ${DATA}/schemas:/var/lib/postgresql/data
- - ${SOURCE}/db:/db:ro
+ - ${PROJECT_DATA}/schemas:/var/lib/postgresql/data
+ - ${PROJECT_SOURCE}/db:/db:ro
healthcheck:
test: pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}
interval: 1s
@@ -55,17 +53,12 @@ services:
#
# For information on databse conventions and layouts, see
# `build/db-init/README.md`.
- build: ../build/db-init
+ build: ${CRIMSON_ROOT}/build/db-init
restart: no
- environment:
- - POSTGRES_DB
- - POSTGRES_USER
- - POSTGRES_PASSWORD
- - API_ENABLED
- - API_SECRET
+ env_file: DOCKER_ENV_FILES
volumes:
- - ${SOURCE}/db:/db:ro
- - ${DATA}/crimson:/var/run/crimson
+ - ${PROJECT_SOURCE}/db:/db:ro
+ - ${PROJECT_DATA}/crimson:/var/run/crimson
depends_on:
postgres:
condition: service_healthy