mirror of
https://github.com/chevereto/docker.git
synced 2025-12-16 13:09:47 +01:00
supports hostname vars
This commit is contained in:
64
Makefile
64
Makefile
@@ -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} \
|
||||
|
||||
@@ -12,7 +12,6 @@ Available options:
|
||||
|
||||
* NAMESPACE=local
|
||||
* VERSION=4.0
|
||||
* TAG_BASENAME=${NAMESPACE}_chevereto-build:${VERSION}
|
||||
|
||||
## Make custom images
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ make <command> <options>
|
||||
Available options:
|
||||
|
||||
* NAMESPACE=local
|
||||
* PORT=8040
|
||||
* VERSION=4.0
|
||||
* PORT=8420
|
||||
|
||||
## Up
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
9
scripts/logo.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
cat <<EOM
|
||||
__ __
|
||||
____/ / ___ _ _____ _______ / /____
|
||||
/ __/ _ \/ -_) |/ / -_) __/ -_) __/ _ \\
|
||||
\__/_//_/\__/|___/\__/_/ \__/\__/\___/
|
||||
|
||||
EOM
|
||||
Reference in New Issue
Block a user