Update: php version. moved Docker files to dist.
This commit is contained in:
parent
fdd0b26c54
commit
cf0a4f403b
@ -1,5 +1,5 @@
|
|||||||
PROJECT_DIR=.
|
PROJECT_DIR=.
|
||||||
# all container will be appended with this
|
# all containers' names will be appended with this
|
||||||
APP_NAME=dev_station
|
APP_NAME=dev_station
|
||||||
# default user/password pair for all services
|
# default user/password pair for all services
|
||||||
APP_USER=user
|
APP_USER=user
|
||||||
@ -18,3 +18,5 @@ XDEBUG_PORT=9001
|
|||||||
XDEBUG_IDE=VSCODE
|
XDEBUG_IDE=VSCODE
|
||||||
#webroot dir
|
#webroot dir
|
||||||
WEB_ROOT=/var/www/public
|
WEB_ROOT=/var/www/public
|
||||||
|
#php host
|
||||||
|
PHP_HOST=phpfpm8
|
||||||
|
|||||||
@ -11,8 +11,11 @@ status: ## Show status of containers
|
|||||||
up: ## Start all or c=<name> containers in foreground
|
up: ## Start all or c=<name> containers in foreground
|
||||||
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) up $(c)
|
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) up $(c)
|
||||||
|
|
||||||
shell: ## Start all or c=<name> containers in foreground
|
build: ## Start all or c=<name> containers in foreground
|
||||||
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) exec $(c) $(sh)
|
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) build $(c)
|
||||||
|
|
||||||
|
cmd: ## Start all or c=<name> containers in foreground
|
||||||
|
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) exec $(c) $(cmd)
|
||||||
|
|
||||||
start: ## Start all or c=<name> containers in background
|
start: ## Start all or c=<name> containers in background
|
||||||
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) up -d $(c)
|
@$(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(ENV_FILE) up -d $(c)
|
||||||
|
|||||||
@ -6,7 +6,7 @@ services:
|
|||||||
container_name: nginx_${APP_NAME}
|
container_name: nginx_${APP_NAME}
|
||||||
restart: 'no'
|
restart: 'no'
|
||||||
depends_on:
|
depends_on:
|
||||||
- phpfpm
|
- ${PHP_HOST}
|
||||||
ports:
|
ports:
|
||||||
- ${NGINX_PORT}:80
|
- ${NGINX_PORT}:80
|
||||||
volumes:
|
volumes:
|
||||||
@ -14,9 +14,15 @@ services:
|
|||||||
- ${PROJECT_DIR}:/var/www
|
- ${PROJECT_DIR}:/var/www
|
||||||
environment:
|
environment:
|
||||||
WEB_ROOT: ${WEB_ROOT}
|
WEB_ROOT: ${WEB_ROOT}
|
||||||
|
# this allows you to switch versions
|
||||||
|
# use the name of a php service presented in this file
|
||||||
|
# in your .env
|
||||||
|
PHP_HOST: ${PHP_HOST}
|
||||||
|
|
||||||
phpfpm:
|
phpfpm:
|
||||||
build: ./docker/php-fpm/
|
build:
|
||||||
|
context: ./docker/php-fpm/
|
||||||
|
dockerfile: Dockerfile.dist
|
||||||
container_name: phpfpm_${APP_NAME}
|
container_name: phpfpm_${APP_NAME}
|
||||||
restart: 'no'
|
restart: 'no'
|
||||||
volumes:
|
volumes:
|
||||||
@ -33,9 +39,32 @@ services:
|
|||||||
XDEBUG_PORT: ${XDEBUG_PORT}
|
XDEBUG_PORT: ${XDEBUG_PORT}
|
||||||
XDEBUG_HOST: ${XDEBUG_HOST}
|
XDEBUG_HOST: ${XDEBUG_HOST}
|
||||||
XDEBUG_IDE: ${XDEBUG_IDE}
|
XDEBUG_IDE: ${XDEBUG_IDE}
|
||||||
|
working_dir: /var/www
|
||||||
|
|
||||||
|
phpfpm8:
|
||||||
|
build:
|
||||||
|
context: ./docker/php-fpm8/
|
||||||
|
dockerfile: Dockerfile.dist
|
||||||
|
container_name: phpfpm8_${APP_NAME}
|
||||||
|
restart: 'no'
|
||||||
|
volumes:
|
||||||
|
- ${PROJECT_DIR}:/var/www
|
||||||
|
- ./docker/php-fpm8/php.ini:/etc/php/8.0/php.ini
|
||||||
|
- ./docker/php-fpm8/xdebug.ini:/etc/php/8.0/mods-available/xdebug.ini
|
||||||
|
- ./docker/php-fpm8/supervisor.conf:/etc/supervisor/supervisor_nodeamon.conf
|
||||||
|
- ./docker/imagick/policy.xml:/etc/ImageMagick-6/policy.xml
|
||||||
|
# One can add any configuration overrides.
|
||||||
|
# Just put them under ./docker/userconfigs/
|
||||||
|
# and map as following
|
||||||
|
# - ./docker/userconfigs/supervisor/conf.d:/etc/supervisor/conf.d
|
||||||
|
environment:
|
||||||
|
XDEBUG_PORT: ${XDEBUG_PORT}
|
||||||
|
XDEBUG_HOST: ${XDEBUG_HOST}
|
||||||
|
XDEBUG_IDE: ${XDEBUG_IDE}
|
||||||
|
working_dir: /var/www
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgis/postgis:12-master
|
image: postgis/postgis:13-master
|
||||||
container_name: postgis_${APP_NAME}
|
container_name: postgis_${APP_NAME}
|
||||||
restart: 'no'
|
restart: 'no'
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@ -17,8 +17,12 @@ server {
|
|||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||||
fastcgi_index index.php;
|
fastcgi_index index.php;
|
||||||
fastcgi_pass phpfpm:9000;
|
fastcgi_pass ${PHP_HOST}:9000;
|
||||||
fastcgi_buffering off;
|
fastcgi_buffering on;
|
||||||
|
|
||||||
|
fastcgi_buffer_size 512k;
|
||||||
|
fastcgi_buffers 4 512k;
|
||||||
|
internal;
|
||||||
}
|
}
|
||||||
|
|
||||||
error_log stderr warn;
|
error_log stderr warn;
|
||||||
|
|||||||
1
docker/php-fpm/.gitignore
vendored
Normal file
1
docker/php-fpm/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Dockerfile
|
||||||
@ -1,5 +1,7 @@
|
|||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
|
pidfile = /tmp/supervisord.pid
|
||||||
|
logfile = /tmp/supervisord.log
|
||||||
|
|
||||||
[unix_http_server]
|
[unix_http_server]
|
||||||
file=/var/run/supervisor.sock ; (the path to the socket file)
|
file=/var/run/supervisor.sock ; (the path to the socket file)
|
||||||
|
|||||||
@ -1,13 +1,11 @@
|
|||||||
zend_extension=xdebug.so
|
zend_extension=xdebug.so
|
||||||
|
|
||||||
[xdebug]
|
[xdebug]
|
||||||
xdebug.remote_autostart = 1
|
xdebug.mode = debug
|
||||||
xdebug.remote_enable = on
|
xdebug.start_with_request = yes
|
||||||
xdebug.profiler_enable = off
|
xdebug.client_port = ${XDEBUG_PORT}
|
||||||
xdebug.profiler_enable_trigger = on
|
xdebug.output_dir ="/tmp"
|
||||||
xdebug.profiler_output_name = cachegrind.out.%t.%p
|
|
||||||
xdebug.profiler_output_dir ="/tmp"
|
|
||||||
xdebug.show_local_vars=1
|
xdebug.show_local_vars=1
|
||||||
xdebug.remote_port=${XDEBUG_PORT}
|
xdebug.client_host=${XDEBUG_HOST}
|
||||||
xdebug.remote_host=${XDEBUG_HOST}
|
|
||||||
xdebug.idekey=${XDEBUG_IDE}
|
xdebug.idekey=${XDEBUG_IDE}
|
||||||
|
xdebug.log=/tmp/xdebug.log
|
||||||
|
xdebug.log_level = 0
|
||||||
|
|||||||
1
docker/php-fpm8/.bash_aliases
Normal file
1
docker/php-fpm8/.bash_aliases
Normal file
@ -0,0 +1 @@
|
|||||||
|
alias c="clear"
|
||||||
1
docker/php-fpm8/.gitignore
vendored
Normal file
1
docker/php-fpm8/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Dockerfile
|
||||||
9
docker/php-fpm8/Dockerfile.dist
Normal file
9
docker/php-fpm8/Dockerfile.dist
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM phpdockerio/php80-fpm
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y supervisor iputils-ping libboost-dev libxml2-dev
|
||||||
|
RUN apt-get install -y php8.0-curl php8.0-mbstring php8.0-xml php8.0-intl \
|
||||||
|
php8.0-zip php8.0-xdebug php8.0-pgsql php8.0-bcmath php8.0-amqp \
|
||||||
|
php-imagick php8.0-gmp php8.0-redis
|
||||||
|
|
||||||
|
CMD ["supervisord", "-c", "/etc/supervisor/supervisor_nodeamon.conf"]
|
||||||
20
docker/php-fpm8/overrides.conf
Normal file
20
docker/php-fpm8/overrides.conf
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[global]
|
||||||
|
; Override default pid file
|
||||||
|
pid = /run/php-fpm.pid
|
||||||
|
|
||||||
|
; Avoid logs being sent to syslog
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
|
||||||
|
[www]
|
||||||
|
# user = webuser
|
||||||
|
# group = webuser
|
||||||
|
|
||||||
|
; Access from webserver container is via network, not socket file
|
||||||
|
listen = [::]:9000
|
||||||
|
|
||||||
|
; Redirect logs to stdout - FPM closes /dev/std* on startup
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
; Required to allow config-by-environment
|
||||||
|
clear_env = no
|
||||||
1946
docker/php-fpm8/php.ini
Normal file
1946
docker/php-fpm8/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
23
docker/php-fpm8/supervisor.conf
Normal file
23
docker/php-fpm8/supervisor.conf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
[supervisord]
|
||||||
|
nodaemon=true
|
||||||
|
pidfile = /tmp/supervisord.pid
|
||||||
|
logfile = /tmp/supervisord.log
|
||||||
|
|
||||||
|
[unix_http_server]
|
||||||
|
file=/var/run/supervisor.sock ; (the path to the socket file)
|
||||||
|
chmod=0700 ; sockef file mode (default 0700)
|
||||||
|
|
||||||
|
[supervisorctl]
|
||||||
|
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
|
||||||
|
|
||||||
|
[rpcinterface:supervisor]
|
||||||
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||||
|
|
||||||
|
[program:php-fpm]
|
||||||
|
command=/usr/sbin/php-fpm8.0
|
||||||
|
autostart = true
|
||||||
|
autorestart = false
|
||||||
|
stopasgroup=true
|
||||||
|
|
||||||
|
[include]
|
||||||
|
files = /etc/supervisor/conf.d/*.conf
|
||||||
11
docker/php-fpm8/xdebug.ini
Normal file
11
docker/php-fpm8/xdebug.ini
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
zend_extension=xdebug.so
|
||||||
|
[xdebug]
|
||||||
|
xdebug.mode = debug
|
||||||
|
xdebug.start_with_request = yes
|
||||||
|
xdebug.client_port = ${XDEBUG_PORT}
|
||||||
|
xdebug.output_dir ="/tmp"
|
||||||
|
xdebug.show_local_vars=1
|
||||||
|
xdebug.client_host=${XDEBUG_HOST}
|
||||||
|
xdebug.idekey=${XDEBUG_IDE}
|
||||||
|
xdebug.log=/tmp/xdebug.log
|
||||||
|
xdebug.log_level = 0
|
||||||
Loading…
Reference in New Issue
Block a user