diff --git a/.env.template b/.env.template new file mode 100644 index 0000000..c365953 --- /dev/null +++ b/.env.template @@ -0,0 +1,17 @@ +# IPv4 +NGINX_HTTP_IPV4_HOST=127.0.0.1 +NGINX_HTTP_IPV4_PORT=8888 +NGINX_HTTPS_IPV4_HOST=127.0.0.1 +NGINX_HTTPS_IPV4_PORT=8843 + +# IPv6 +NGINX_HTTP_IPV6_HOST=::1 +NGINX_HTTP_IPV6_PORT=8888 +NGINX_HTTPS_IPV6_HOST=::1 +NGINX_HTTPS_IPV6_PORT=8843 + +# Container Ports (constant) +NGINX_CONTAINER_HTTP_PORT=80 +NGINX_CONTAINER_HTTPS_PORT=443 + +PHP_VERSIONS=7.4 7.2 diff --git a/.gitignore b/.gitignore index bd0cb5b..2da278e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,9 @@ mariadb-srv/run mariadb-srv/var mariadb-srv/etc # +docker-compose.yaml +docker-compose.yml +compose.yaml +compose.yml +docker-compose.env +.env diff --git a/docker-compose.template.yaml b/docker-compose.template.yaml new file mode 100644 index 0000000..7557726 --- /dev/null +++ b/docker-compose.template.yaml @@ -0,0 +1,45 @@ +services: + nginx-srv: + image: eroncero/nginx-srv:latest + build: + context: ./nginx-srv + dockerfile: Dockerfile + ports: + - "${NGINX_HTTP_IPV4_HOST}:${NGINX_HTTP_IPV4_PORT}:${NGINX_CONTAINER_HTTP_PORT}" + - "${NGINX_HTTP_IPV6_HOST}:${NGINX_HTTP_IPV6_PORT}:${NGINX_CONTAINER_HTTP_PORT}" + - "${NGINX_HTTPS_IPV4_HOST}:${NGINX_HTTPS_IPV4_PORT}:${NGINX_CONTAINER_HTTPS_PORT}" + - "${NGINX_HTTPS_IPV6_HOST}:${NGINX_HTTPS_IPV6_PORT}:${NGINX_CONTAINER_HTTPS_PORT}" + restart: unless-stopped + hostname: nginx-srv + volumes: + - ./mnt/place-config/etc/nginx:/mnt/place-config/etc/nginx # Config ready to be copied into the container. + - ./nginx-srv/var/www:/var/www # Webpage public html. + - ./nginx-srv/etc/letsencrypt:/etc/letsencrypt + - ./multi-php-fpm-srv/run/php:/run/php # Socket files dir. It will be mounted and shared from the PHP container. + + multi-php-fpm-srv: + image: eroncero/multi-php-fpm-srv:latest + build: + context: ./multi-php-fpm-srv + dockerfile: Dockerfile + restart: unless-stopped + hostname: multi-php-fpm-srv + environment: + - PHP_VERSIONS=${PHP_VERSIONS} # Inherits from .env + volumes: + - ./mnt/place-config/etc/php/8.2:/mnt/place-config/etc/php/8.2 # Config ready to be copied into the container. + - ./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: + image: eroncero/mariadb-srv:latest + build: + context: ./mariadb-srv + dockerfile: Dockerfile + restart: unless-stopped + hostname: mariadb-srv + volumes: + - ./mnt/place-config/etc/mysql:/mnt/place-config/etc/mysql # Config ready to be copied into the container. + - ./mariadb-srv/var/lib/mysql:/var/lib/mysql # Databases + - ./mariadb-srv/etc/mysql/conf.d:/etc/mysql/conf.d/ # Custom config that overrides default one. + - ./mariadb-srv/run/mysql/:/run/mysqld # Socket