supports hostname vars

This commit is contained in:
Rodolfo Berrios
2022-10-06 15:31:11 -03:00
parent ddea9a5c62
commit c2b21bb31d
6 changed files with 57 additions and 27 deletions

View File

@@ -1,30 +1,45 @@
# Default arguments
VERSION ?= 4.0
PHP ?= 8.1
DOCKER_USER ?= www-data
HOSTNAME ?= localhost
HOSTNAME_PATH ?= /
PROTOCOL ?= http
# NAMESPACE prefix in project's name
NAMESPACE ?= local
# Project's name
PROJECT = ${NAMESPACE}_chevereto-build
CONTAINER_BASENAME ?= ${NAMESPACE}_chevereto-build-${VERSION}
TAG_BASENAME ?= ${NAMESPACE}_chevereto-build:${VERSION}
# SERVICE php|database|http
SERVICE ?= php
LICENSE ?= $(shell stty -echo; read -p "Chevereto V4 License key: " license; stty echo; echo $$license)
PORT ?= 8040
LICENSE ?= $(shell stty -echo; read -p "Chevereto V4 License key: 🔑" license; stty echo; echo $$license)
VERSION_DOTLESS = $(shell echo \${VERSION} | tr -d '.')
# Echo doing
PHP_DOTLESS = $(shell echo \${PHP} | tr -d '.')
PORT ?= 8420
VERSION_DOTLESS = $(shell echo \${VERSION} | tr -d '.')
FEEDBACK = $(shell echo 👉 V\${VERSION} \${NAMESPACE} [PHP \${PHP}] \(\${DOCKER_USER}\))
FEEDBACK_SHORT = $(shell echo 👉 V\${VERSION} [PHP \${PHP}] \(\${DOCKER_USER}\))
arguments:
ENDPOINT = ${PROTOCOL}://${HOSTNAME}
ENDPOINT_CONTEXT = ${PORT}${HOSTNAME_PATH}
URL_PROD = ${ENDPOINT}:${ENDPOINT_CONTEXT}
feedback:
@./scripts/logo.sh
@echo "${FEEDBACK}"
feedback--short:
@echo "${FEEDBACK_SHORT}"
feedback--prod:
@echo "${URL_PROD}"
# Docker
image:
@echo "${FEEDBACK_SHORT}"
image: feedback--short
@chmod +x ./scripts/chevereto.sh
@LICENSE=${LICENSE} \
VERSION=${VERSION} \
@@ -39,8 +54,7 @@ image:
-f php.Dockerfile \
-t ${TAG_BASENAME}_php
image-custom:
@echo "${FEEDBACK_SHORT}"
image-custom: feedback--short
@echo "* Building PHP image"
@docker build . \
-f php.Dockerfile \
@@ -50,48 +64,54 @@ image-custom:
-f http.Dockerfile \
-t ${TAG_BASENAME}_http
image-httpd:
image-httpd: feedback--short
@echo "👉 Downloading source httpd.conf"
@docker run --rm httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > httpd/httpd.conf
@echo "👉 Adding chevereto.conf to httpd.conf"
@cat httpd/chevereto.conf >> httpd/httpd.conf
@echo "✅ httpd/httpd.conf updated"
bash: arguments
bash: feedback
@docker exec -it --user ${DOCKER_USER} \
${CONTAINER_BASENAME}_${SERVICE} \
bash
log-access: arguments
log-access: feedback
@docker logs ${CONTAINER_BASENAME}_${SERVICE} -f 2>/dev/null
log-error: arguments
log-error: feedback
@docker logs ${CONTAINER_BASENAME}_${SERVICE} -f 1>/dev/null
# docker compose
up: arguments
up: feedback feedback--prod
@CONTAINER_BASENAME=${CONTAINER_BASENAME} \
PORT=${PORT} \
TAG_BASENAME=${TAG_BASENAME} \
VERSION=${VERSION} \
HOSTNAME=${HOSTNAME} \
HOSTNAME_PATH=${HOSTNAME_PATH} \
URL_PROD=${URL_PROD} \
docker compose \
-p ${PROJECT} \
-f projects/prod.yml \
up
up-d: arguments
up-d: feedback feedback--prod
@CONTAINER_BASENAME=${CONTAINER_BASENAME} \
PORT=${PORT} \
TAG_BASENAME=${TAG_BASENAME} \
VERSION=${VERSION} \
HOSTNAME=${HOSTNAME} \
HOSTNAME_PATH=${HOSTNAME_PATH} \
URL_PROD=${URL_PROD} \
docker compose \
-p ${PROJECT} \
-f projects/prod.yml \
up -d
@echo "👉 http://localhost:${PORT}"
@echo "👉 ${URL_PROD}"
stop: arguments
stop: feedback
@CONTAINER_BASENAME=${CONTAINER_BASENAME} \
PORT=${PORT} \
VERSION=${VERSION} \
@@ -100,7 +120,7 @@ stop: arguments
-f projects/prod.yml \
stop
down: arguments
down: feedback
@CONTAINER_BASENAME=${CONTAINER_BASENAME} \
PORT=${PORT} \
VERSION=${VERSION} \
@@ -109,7 +129,7 @@ down: arguments
-f projects/prod.yml \
down
down--volumes: arguments
down--volumes: feedback
@CONTAINER_BASENAME=${CONTAINER_BASENAME} \
PORT=${PORT} \
VERSION=${VERSION} \

View File

@@ -12,7 +12,6 @@ Available options:
* NAMESPACE=local
* VERSION=4.0
* TAG_BASENAME=${NAMESPACE}_chevereto-build:${VERSION}
## Make custom images

View File

@@ -9,8 +9,8 @@ make <command> <options>
Available options:
* NAMESPACE=local
* PORT=8040
* VERSION=4.0
* PORT=8420
## Up

View File

@@ -70,11 +70,11 @@ ENV CHEVERETO_ASSET_STORAGE_ACCOUNT_ID= \
CHEVERETO_MAX_ALBUMS=0 \
CHEVERETO_MAX_EXECUTION_TIME_SECONDS=30 \
CHEVERETO_MAX_IMAGES=0 \
CHEVERETO_MAX_MEMORY_SIZE=512M \
CHEVERETO_MAX_POST_SIZE=64M \
CHEVERETO_MAX_UPLOAD_SIZE=64M \
CHEVERETO_MAX_USER_ALBUMS_LIST=300 \
CHEVERETO_MAX_USERS=0 \
CHEVERETO_MAX_MEMORY_SIZE=512M \
CHEVERETO_SERVICING=docker \
CHEVERETO_SESSION_SAVE_HANDLER=files \
CHEVERETO_SESSION_SAVE_PATH=/tmp

View File

@@ -49,11 +49,13 @@ services:
CHEVERETO_DB_PASS: user_database_password
CHEVERETO_DB_PORT: 3306
CHEVERETO_DB_NAME: chevereto
CHEVERETO_HOSTNAME: ${HOSTNAME}
CHEVERETO_HOSTNAME_PATH: ${HOSTNAME_PATH}
CHEVERETO_HTTPS: 0
CHEVERETO_ASSET_STORAGE_TYPE: local
CHEVERETO_ASSET_STORAGE_URL: http://localhost:${PORT}/_assets/
CHEVERETO_ASSET_STORAGE_URL: ${URL_PROD}_assets/
CHEVERETO_ASSET_STORAGE_BUCKET: /var/www/html/_assets/
CHEVERETO_ENCRYPTION_KEY:
CHEVERETO_ENCRYPTION_KEY: yUwfiRh6anwqC/sIx3COCIZeMT9rxdbXkMDdfgyrM2M=
http:
container_name: ${CONTAINER_BASENAME}_http

9
scripts/logo.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -e
cat <<EOM
__ __
____/ / ___ _ _____ _______ / /____
/ __/ _ \/ -_) |/ / -_) __/ -_) __/ _ \\
\__/_//_/\__/|___/\__/_/ \__/\__/\___/
EOM