Skip to content

Commit 96e45a8

Browse files
committed
Add postgresql support
1 parent cf96c87 commit 96e45a8

File tree

3 files changed

+29
-8
lines changed

3 files changed

+29
-8
lines changed

.env.default

+2
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ IMAGE_REDIS=redis:5-alpine
1818
IMAGE_DRIVER=zenika/alpine-chrome
1919
CLEAR_FRONT_PACKAGES=no
2020
ADD_PHP_EXT=
21+
#ADD_PHP_EXT=php7-pdo_pgsql postgresql-client postgresql-contrib gnu-libiconv wkhtmltopdf
2122
MAIN_DOMAIN_NAME=docker.localhost
2223
DB_URL=sqlite:./../.cache/d8.sqlite
2324
# Faster but data will be lost on php container recreation
2425
#DB_URL=sqlite:///dev/shm/d8.sqlite
2526
#DB_URL=mysql://d8:d8@mysql/d8
27+
#DB_URL=pgsql://d9:d9root@postgresql/d9
2628
# Include path to this folder to your .gitignore if you override it
2729
DB_DATA_DIR=../.cache
2830
#DB_DATA_DIR=/dev/shm

Makefile

+12-8
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ CGID ?= $(LOCAL_GID)
2424
# Define network name.
2525
COMPOSE_NET_NAME := $(COMPOSE_PROJECT_NAME)_front
2626

27-
# Determine mysql data directory if defined
28-
ifeq ($(shell docker-compose config --services | grep mysql),mysql)
29-
MYSQL_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
27+
SDC_SERVICES=$(shell docker-compose config --services)
28+
# Determine database data directory if defined
29+
ifeq ($(findstring mysql,$(SDC_SERVICES)),mysql)
30+
DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_mysql
31+
endif
32+
ifeq ($(findstring postgresql,$(SDC_SERVICES)),postgresql)
33+
DB_MOUNT_DIR=$(shell cd docker && realpath $(DB_DATA_DIR))/$(COMPOSE_PROJECT_NAME)_pgsql
3034
endif
3135

3236
# Define current directory only once
@@ -59,8 +63,8 @@ ifeq ($(strip $(COMPOSE_PROJECT_NAME)),projectname)
5963
$(info Please review your project settings and run `make all` again.)
6064
exit 1
6165
endif
62-
ifdef MYSQL_DIR
63-
mkdir -p $(MYSQL_DIR) && chmod 777 $(MYSQL_DIR)
66+
ifdef DB_MOUNT_DIR
67+
$(shell [ ! -d $(DB_MOUNT_DIR) ] && mkdir -p $(DB_MOUNT_DIR) && chmod 777 $(DB_MOUNT_DIR))
6468
endif
6569
make -s down
6670
@echo "Updating containers..."
@@ -148,9 +152,9 @@ clean: info
148152
make -s down
149153
$(eval SCAFFOLD = $(shell docker run --rm -v $(CURDIR):/mnt -w /mnt --user $(CUID):$(CGID) $(IMAGE_PHP) composer run-script list-scaffold-files | grep -P '^(?!>)'))
150154
@docker run --rm --user 0:0 -v $(CURDIR):/mnt -w /mnt -e RMLIST="$(addprefix web/,$(SCAFFOLD)) $(DIRS)" $(IMAGE_PHP) sh -c 'for i in $$RMLIST; do rm -fr $$i && echo "Removed $$i"; done'
151-
ifdef MYSQL_DIR
152-
@echo "Removing mysql data from $(MYSQL_DIR) ..."
153-
docker run --rm --user 0:0 -v $(shell dirname $(MYSQL_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(MYSQL_DIR)`"
155+
ifdef DB_MOUNT_DIR
156+
@echo "Clean-up database data from $(DB_MOUNT_DIR) ..."
157+
docker run --rm --user 0:0 -v $(shell dirname $(DB_MOUNT_DIR)):/mnt $(IMAGE_PHP) sh -c "rm -fr /mnt/`basename $(DB_MOUNT_DIR)`"
154158
endif
155159
ifeq ($(CLEAR_FRONT_PACKAGES), yes)
156160
make clear-front

docker/docker-compose.override.yml.default

+15
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ services:
1010
- "./90-mail.ini:/etc/php7/conf.d/90-mail.ini:z"
1111
# depends_on:
1212
# - mysql
13+
# - postgresql
1314
# Uncomment next line if you need PHP XDebug.
1415
# command: php-fpm7 -F -d zend_extension=xdebug.so
1516

@@ -35,6 +36,20 @@ services:
3536
# MYSQL_ROOT_PASSWORD: d8root
3637
# restart: always
3738
# networks:
39+
# - front
40+
41+
# postgresql:
42+
# image: postgres:12.2-alpine
43+
# container_name: "${COMPOSE_PROJECT_NAME}_pgsql"
44+
# volumes:
45+
# - ${DB_DATA_DIR}/${COMPOSE_PROJECT_NAME}_pgsql:/var/lib/postgresql/data:Z
46+
# environment:
47+
# POSTGRES_DB: d9
48+
# POSTGRES_USER: d9
49+
# POSTGRES_PASSWORD: d9root
50+
# PGDATA: /var/lib/postgresql/data
51+
# restart: always
52+
# networks:
3853
# - front
3954

4055
mailhog:

0 commit comments

Comments
 (0)