Add php support for legacy services

This commit is contained in:
Kacper Donat 2021-03-13 20:42:15 +01:00
parent 216ff47574
commit 4b8b64d893
6 changed files with 48 additions and 1 deletions

View File

@ -0,0 +1,5 @@
FROM php:{{ version }}-fpm-alpine
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions {{ php_extensions|join(" ") }}

View File

@ -13,3 +13,9 @@ services:
labels:
- traefik.enable=true
- traefik.http.services.{{ service }}.loadbalancer.server.port=80
{% for version in php_versions %}
php-{{ version|replace('.', '') }}:
image: kadet/php:{{ version }}
volumes:
- "{{ www_root }}:/var/www"
{% endfor %}

View File

@ -0,0 +1,21 @@
---
- name: "Create directory for {{ version }}"
file:
path: "{{ remote_service_path }}/.docker/{{ version }}"
state: directory
- name: "Create Dockerfile for {{ version }}"
template:
src: "{{ service_path }}/config/Dockerfile.j2"
dest: "{{ remote_service_path }}/.docker/{{ version }}/Dockerfile"
register: dockerfile
- name: "Build and tag docker image for php {{ version }}"
community.docker.docker_image:
name: kadet/php
tag: "{{ version }}"
build:
path: "{{ remote_service_path }}/.docker/{{ version }}"
source: build
force_source: "{{ dockerfile.changed or update_images|default(false) }}"
force_tag: "{{ dockerfile.changed or update_images|default(false) }}"

View File

@ -5,7 +5,7 @@
state: directory
owner: "{{ ansible_user }}"
tags:
- config
- configa
- name: 'Copy sites configuration to remote server'
template:
@ -16,3 +16,9 @@
loop_var: file
tags:
- config
- name: "Create docker images for php-fpm"
include_tasks: "{{ service_path }}/tasks/_docker.yml"
loop: "{{ php_versions }}"
loop_control:
loop_var: version

View File

@ -3,3 +3,11 @@ www_root: /var/www
www_data_users: []
php_versions: ['7.1', '7.3']
php_extensions:
- bcmath
- gd
- opcache
- pdo_mysql
- redis
- sockets
- zip

View File

@ -30,6 +30,7 @@
with_fileglob: "{{ services_root }}/{{ service }}/tasks/*"
loop_control:
loop_var: service_task_file
when: service_task_file|basename is not regex('^_')
tags:
- always