diff --git a/2do.txt b/2do.txt new file mode 100644 index 0000000..d2b6719 --- /dev/null +++ b/2do.txt @@ -0,0 +1,9 @@ +- Install certbot in the container instead of the image (download only in the image). It should be like this, since /etc/letsencrypt should be added as a volume. I assume it might break apt install certbot in a new docker compose up -d. + +- Copy php-fpm pools from host to /etc/php/8.2/fpm/pool.d + +- Instead of apt-get update, just apt-get install (because packages are already downloaded). + +- Code refactor. + + diff --git a/del_vols.sh b/del_vols.sh index 3673acd..8a3fa1e 100755 --- a/del_vols.sh +++ b/del_vols.sh @@ -3,8 +3,8 @@ sudo rm -rfv nginx-srv/etc sudo rm -rfv nginx-srv/var -sudo rm -rfv multi-php-fpm/etc -sudo rm -rfv multi-php-fpm/run +sudo rm -rfv multi-php-fpm-srv/etc +sudo rm -rfv multi-php-fpm-srv/run sudo rm -rfv mariadb-srv/run sudo rm -rfv mariadb-srv/var diff --git a/docker-compose.yaml b/docker-compose.yaml index 5bdd6d4..b0ef6d0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -15,20 +15,20 @@ services: - ./nginx-srv/etc/nginx/sites-available:/etc/nginx/sites-available # Server blocks aka virtual hosts. - ./nginx-srv/var/www:/var/www # Webpage public html. - ./nginx-srv/etc/letsencrypt:/etc/letsencrypt - - ./multi-php-fpm/run/php:/run/php # Socket files dir. It will be mounted and shared from the PHP container. + - ./multi-php-fpm-srv/run/php:/run/php # Socket files dir. It will be mounted and shared from the PHP container. - multi-php-fpm: - image: eroncero/multi-php-fpm:latest + multi-php-fpm-srv: + image: eroncero/multi-php-fpm-srv:latest build: - context: ./multi-php-fpm + context: ./multi-php-fpm-srv dockerfile: Dockerfile restart: unless-stopped - hostname: multi-php-fpm + hostname: multi-php-fpm-srv environment: - PHP_VERSIONS=${PHP_VERSIONS} # Inherits from .env volumes: - - ./multi-php-fpm/etc/php:/etc/php - - ./multi-php-fpm/run/php:/run/php + - ./multi-php-fpm-srv/etc/php:/etc/php + - ./multi-php-fpm-srv/run/php:/run/php - ./mariadb-srv/run/mysql:/run/mysqld # php-mysql should be able connecting to the MariaDB socket. mariadb-srv: diff --git a/mariadb-srv/Dockerfile b/mariadb-srv/Dockerfile index 6b45b0b..0e4a9a0 100644 --- a/mariadb-srv/Dockerfile +++ b/mariadb-srv/Dockerfile @@ -3,8 +3,9 @@ FROM debian:bookworm ENV DEBIAN_FRONTEND=noninteractive ENV DEBCONF_NONINTERACTIVE_SEEN=true -RUN apt-get update; apt-get full-upgrade -y; apt-get autoclean -y; apt-get install mariadb-server mariadb-client iputils-ping -y --download-only +RUN apt-get update; apt-get full-upgrade -y; apt-get autoclean -y; apt-get install iputils-ping -y; apt-get install mariadb-server mariadb-client -y --download-only COPY project/entrypoint/entrypoint.sh /entrypoint/entrypoint.sh +COPY project/entrypoint/install-packages.sh /entrypoint/install-packages.sh ENTRYPOINT ["/bin/sh", "/entrypoint/entrypoint.sh"] diff --git a/mariadb-srv/project/entrypoint/entrypoint.sh b/mariadb-srv/project/entrypoint/entrypoint.sh index 65b9669..f639ed5 100644 --- a/mariadb-srv/project/entrypoint/entrypoint.sh +++ b/mariadb-srv/project/entrypoint/entrypoint.sh @@ -2,6 +2,13 @@ service mariadb start +chown -R mysql:mysql /run/mysql +chown -R mysql:mysql /var/lib/mysql + +/bin/sh /entrypoint/install-packages.sh + +service mariadb start + # Run the CMD that was passed (or default) exec "$@" diff --git a/mariadb-srv/project/entrypoint/install-packages.sh b/mariadb-srv/project/entrypoint/install-packages.sh new file mode 100644 index 0000000..d4fa0e9 --- /dev/null +++ b/mariadb-srv/project/entrypoint/install-packages.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +apt-get update; apt-get full-upgrade -y; apt-get install mariadb-server mariadb-client -y diff --git a/multi-php-fpm/Dockerfile b/multi-php-fpm-srv/Dockerfile similarity index 99% rename from multi-php-fpm/Dockerfile rename to multi-php-fpm-srv/Dockerfile index 7a00818..fcb6a2c 100644 --- a/multi-php-fpm/Dockerfile +++ b/multi-php-fpm-srv/Dockerfile @@ -2,6 +2,7 @@ FROM debian:bookworm ENV DEBIAN_FRONTEND=noninteractive ENV DEBCONF_NONINTERACTIVE_SEEN=true + RUN apt-get update; apt-get full-upgrade -y; apt-get autoclean -y && apt-get install iputils-ping -y COPY project/buildtime/sury-repo.sh /tmp/buildtime/sury-repo.sh diff --git a/multi-php-fpm/project/buildtime/buildtime_php_ver_inst.sh b/multi-php-fpm-srv/project/buildtime/buildtime_php_ver_inst.sh similarity index 100% rename from multi-php-fpm/project/buildtime/buildtime_php_ver_inst.sh rename to multi-php-fpm-srv/project/buildtime/buildtime_php_ver_inst.sh diff --git a/multi-php-fpm/project/buildtime/sury-repo.sh b/multi-php-fpm-srv/project/buildtime/sury-repo.sh similarity index 100% rename from multi-php-fpm/project/buildtime/sury-repo.sh rename to multi-php-fpm-srv/project/buildtime/sury-repo.sh diff --git a/multi-php-fpm/project/entrypoint/container-php-ver-inst.sh b/multi-php-fpm-srv/project/entrypoint/container-php-ver-inst.sh similarity index 100% rename from multi-php-fpm/project/entrypoint/container-php-ver-inst.sh rename to multi-php-fpm-srv/project/entrypoint/container-php-ver-inst.sh diff --git a/multi-php-fpm/project/entrypoint/entrypoint.sh b/multi-php-fpm-srv/project/entrypoint/entrypoint.sh similarity index 82% rename from multi-php-fpm/project/entrypoint/entrypoint.sh rename to multi-php-fpm-srv/project/entrypoint/entrypoint.sh index e98bc51..f73eb39 100644 --- a/multi-php-fpm/project/entrypoint/entrypoint.sh +++ b/multi-php-fpm-srv/project/entrypoint/entrypoint.sh @@ -2,6 +2,7 @@ /bin/sh /entrypoint/container-php-ver-inst.sh /bin/sh /entrypoint/install-php-versions.sh +/bin/sh /entrypoint/start-php-fpm.sh # Run the CMD that was passed (or default) exec "$@" diff --git a/multi-php-fpm/project/entrypoint/install-php-versions.sh b/multi-php-fpm-srv/project/entrypoint/install-php-versions.sh similarity index 96% rename from multi-php-fpm/project/entrypoint/install-php-versions.sh rename to multi-php-fpm-srv/project/entrypoint/install-php-versions.sh index 98a8036..7ec02b9 100644 --- a/multi-php-fpm/project/entrypoint/install-php-versions.sh +++ b/multi-php-fpm-srv/project/entrypoint/install-php-versions.sh @@ -74,5 +74,3 @@ if ! update-alternatives --set php "/usr/bin/php${DEF_PHP_INTERPRETER}"; then exit 1 fi -# Start PHP-FPM services -exec /bin/sh /entrypoint/start-php-fpm.sh diff --git a/multi-php-fpm/project/entrypoint/start-php-fpm.sh b/multi-php-fpm-srv/project/entrypoint/start-php-fpm.sh similarity index 100% rename from multi-php-fpm/project/entrypoint/start-php-fpm.sh rename to multi-php-fpm-srv/project/entrypoint/start-php-fpm.sh diff --git a/multi-php-fpm/project/etc/8.2/fpm/pool.d/moodle4_5.conf b/multi-php-fpm-srv/project/etc/8.2/fpm/pool.d/moodle4_5.conf similarity index 100% rename from multi-php-fpm/project/etc/8.2/fpm/pool.d/moodle4_5.conf rename to multi-php-fpm-srv/project/etc/8.2/fpm/pool.d/moodle4_5.conf diff --git a/multi-php-fpm/project/etc/8.2/fpm/pool.d/wordpress6.conf b/multi-php-fpm-srv/project/etc/8.2/fpm/pool.d/wordpress6.conf similarity index 100% rename from multi-php-fpm/project/etc/8.2/fpm/pool.d/wordpress6.conf rename to multi-php-fpm-srv/project/etc/8.2/fpm/pool.d/wordpress6.conf diff --git a/nginx-srv/project/entrypoint/entrypoint.sh b/nginx-srv/project/entrypoint/entrypoint.sh index de1b533..84ba3e6 100644 --- a/nginx-srv/project/entrypoint/entrypoint.sh +++ b/nginx-srv/project/entrypoint/entrypoint.sh @@ -1,6 +1,9 @@ #!/bin/sh +apt-get update; apt-get full-upgrade -y; apt-get install nginx certbot python3-certbot-nginx openssl vim curl iputils-ping -y; apt-get autoclean -y + /bin/sh /entrypoint/gen-cert.sh +service nginx start # Run the CMD that was passed (or default) exec "$@"