+ heroku docker
This commit is contained in:
89
.dev/Dockerfile
Normal file
89
.dev/Dockerfile
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
ARG STACK_VERSION=20
|
||||||
|
ARG YQ_VERSION=4.25.2
|
||||||
|
ARG JQ_VERSION=1.6
|
||||||
|
ARG XDEBUG_VERSION=3.1.5
|
||||||
|
ARG USER_NAME=heroku
|
||||||
|
ARG UID=1000
|
||||||
|
ARG GID=1000
|
||||||
|
|
||||||
|
FROM heroku/heroku:${STACK_VERSION}-build AS dev-base
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
RUN \
|
||||||
|
apt-get -qq update; \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
mysql-client \
|
||||||
|
awscli \
|
||||||
|
&& apt-get download nginx-common \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*; \
|
||||||
|
wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh; \
|
||||||
|
curl -sLo /usr/local/bin/mhsendmail \
|
||||||
|
https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64; \
|
||||||
|
chmod +x /usr/local/bin/mhsendmail;
|
||||||
|
|
||||||
|
FROM composer AS build
|
||||||
|
ARG YQ_VERSION
|
||||||
|
ARG JQ_VERSION
|
||||||
|
|
||||||
|
WORKDIR /workspace/bin
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
curl -sSLo ./yq https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64; \
|
||||||
|
chmod a+x ./yq; \
|
||||||
|
curl -sSLo ./jq https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-linux64; \
|
||||||
|
chmod a+x ./jq;
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
COPY ./composer.json /tmp/composer.json
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
PATH="/workspace/bin:$PATH"; \
|
||||||
|
php_version=$(cat /tmp/composer.json | jq '.require .php' --raw-output); \
|
||||||
|
composer init --name "heroku/dev" --type project --require="php:$php_version" --stability=stable --no-interaction 2>/dev/stdout; \
|
||||||
|
composer install --ignore-platform-reqs --no-dev --prefer-dist --optimize-autoloader --no-interaction 2>/dev/stdout; \
|
||||||
|
rm -rf ./vendor; \
|
||||||
|
php_modules=$(cat /tmp/composer.json | bin/jq '.require | keys []' --raw-output | grep ext-); \
|
||||||
|
for m in $php_modules; do composer require --no-install --ignore-platform-reqs $m:* 2>/dev/stdout; done;
|
||||||
|
|
||||||
|
FROM dev-base
|
||||||
|
ARG STACK_VERSION
|
||||||
|
ARG USER_NAME
|
||||||
|
ARG UID
|
||||||
|
ARG GID
|
||||||
|
ARG STACK=heroku-${STACK_VERSION}
|
||||||
|
ARG XDEBUG_VERSION
|
||||||
|
|
||||||
|
COPY .dev/bashrc /tmp/bashrc
|
||||||
|
COPY .dev/entrypoint-dev.sh /entrypoint.sh
|
||||||
|
|
||||||
|
RUN groupadd -r --gid ${GID} ${USER_NAME}; \
|
||||||
|
useradd -M ${USER_NAME} -d /app --uid ${UID} --gid ${GID}; \
|
||||||
|
cat /tmp/bashrc >> /etc/profile; rm /tmp/bashrc; \
|
||||||
|
mkdir -p /app /workspace /buildpacks; chown -R ${USER_NAME}:${USER_NAME} /app /workspace /buildpacks; \
|
||||||
|
chmod a+x /entrypoint.sh;
|
||||||
|
|
||||||
|
COPY --chown=${USER_NAME}:${USER_NAME} .dev/xdebug-install.sh /tmp/xdebug-install.sh
|
||||||
|
COPY --chown=${USER_NAME}:${USER_NAME} --from=build /workspace /workspace
|
||||||
|
|
||||||
|
USER ${USER_NAME}
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
mkdir -p /buildpacks/php; \
|
||||||
|
curl -fsSL https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/php.tgz | tar -xz -C /buildpacks/php; \
|
||||||
|
echo "web: tail -f /dev/null" >> Procfile; \
|
||||||
|
mkdir -p /tmp/build_cache /tmp/env; \
|
||||||
|
/buildpacks/php/bin/compile $(pwd) /tmp/build_cache /tmp/env 2>/dev/stdout; \
|
||||||
|
PATH="/workspace/.heroku/php/bin:$PATH"; \
|
||||||
|
LOGDIR=/tmp /tmp/xdebug-install.sh 2>/dev/stdout; \
|
||||||
|
rm -rf /tmp/* /app/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV STACK=${STACK}
|
||||||
|
ENV PORT=3000
|
||||||
|
ENV FORCE_SECRETS=0
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
||||||
|
CMD ["web"]
|
||||||
13
.dev/bashrc
Normal file
13
.dev/bashrc
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
# prompt
|
||||||
|
export PS1='\[\033[01;34m\]\w\[\033[00m\] \[\033[01;32m\]$ \[\033[00m\]'
|
||||||
|
|
||||||
|
# profile feature switch
|
||||||
|
if [ -d $HOME/.profile.d ]; then
|
||||||
|
for i in $HOME/.profile.d/*.sh; do
|
||||||
|
if [ -r $i ]; then
|
||||||
|
. $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unset i
|
||||||
|
fi
|
||||||
36
.dev/entrypoint-dev.sh
Normal file
36
.dev/entrypoint-dev.sh
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
COMMAND=$*
|
||||||
|
|
||||||
|
if [ ! -d /app/.heroku ]; then
|
||||||
|
cp -r /workspace/.heroku /app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f /app/.profile.d/100-php.sh ]; then
|
||||||
|
cp -r /workspace/.profile.d /app
|
||||||
|
fi
|
||||||
|
|
||||||
|
XDEBUG_ENABLE=${XDEBUG_ENABLE-0}
|
||||||
|
export XDEBUG_ENABLE
|
||||||
|
|
||||||
|
rm -f /app/.heroku/php/etc/php/conf.d/999-xdebug.ini
|
||||||
|
|
||||||
|
if [ "$XDEBUG_ENABLE" = 1 ]; then
|
||||||
|
ln -sn $(pwd)/.dev/xdebug.ini /app/.heroku/php/etc/php/conf.d/999-xdebug.ini
|
||||||
|
fi
|
||||||
|
|
||||||
|
PATH="/workspace/bin:$PATH"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
HISTFILE=${HISTFILE-/tmp/.bash_history}
|
||||||
|
export HISTFILE
|
||||||
|
|
||||||
|
keys=$(yq e '. | keys' Procfile | cut -c 3-)
|
||||||
|
|
||||||
|
for key in $keys; do
|
||||||
|
echo '#!/usr/bin/env bash' > "/workspace/bin/$key"
|
||||||
|
yq e ".$key" Procfile >> "/workspace/bin/$key"
|
||||||
|
chmod +x "/workspace/bin/$key"
|
||||||
|
done
|
||||||
|
|
||||||
|
bash -l -c "$COMMAND"
|
||||||
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
PHP_BUILDPACK=${PHP_BUILDPACK:-"/buildpack/php"};
|
PHP_BUILDPACK=${PHP_BUILDPACK:-"/buildpack/php"};
|
||||||
|
|
||||||
mkdir -p /tmp/build_cache /tmp/env;
|
mkdir -p /tmp/build_cache;
|
||||||
|
|
||||||
rm -rf /app/.heroku /app/.profile.d /app/vendor/*
|
rm -rf /app/.heroku /app/vendor/*
|
||||||
|
|
||||||
STACK=heroku-20 "$PHP_BUILDPACK/bin/compile" /app /tmp/build_cache /tmp/env;
|
STACK=heroku-20 "$PHP_BUILDPACK/bin/compile" /app /tmp/build_cache /run/secrets;
|
||||||
|
|
||||||
cp -v config/mailhog.ini /app/.heroku/php/etc/php/conf.d/225-mailhog.ini;
|
cp -v config/mailhog.ini /app/.heroku/php/etc/php/conf.d/225-mailhog.ini;
|
||||||
|
|
||||||
rm -rf /app/vendor/*;
|
rm -rf /app/vendor/*;
|
||||||
composer install;
|
composer install;
|
||||||
|
|
||||||
exec .dev/xdebug-install.sh;
|
exec ".dev/xdebug-install.sh";
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ echo -e "${OK}done${NC}"
|
|||||||
#git clone git://github.com/xdebug/xdebug.git $XDEBUG_SRC_PATH
|
#git clone git://github.com/xdebug/xdebug.git $XDEBUG_SRC_PATH
|
||||||
#echo -e "${OK}done${NC}"
|
#echo -e "${OK}done${NC}"
|
||||||
|
|
||||||
LOGDIR="${PWD}/.log"
|
LOGDIR=${LOGDIR-"${PWD}/.log"}
|
||||||
mkdir -p "${LOGDIR}"
|
mkdir -p "${LOGDIR}"
|
||||||
LOGFILE="${LOGDIR}/xdebug_build.log"
|
LOGFILE="${LOGDIR}/xdebug_build.log"
|
||||||
|
|
||||||
@@ -59,13 +59,13 @@ echo -e "${LED}XDEBUG${NC} Compile at $XDEBUG_SRC_PATH ..."
|
|||||||
cp -v modules/*.la $LIB_PATH
|
cp -v modules/*.la $LIB_PATH
|
||||||
echo -e "${OK}done${NC}"
|
echo -e "${OK}done${NC}"
|
||||||
|
|
||||||
echo -e "${LED}XDEBUG${NC} Install ini to $INSTALL_PATH ..."
|
# echo -e "${LED}XDEBUG${NC} Install ini to $INSTALL_PATH ..."
|
||||||
if [ ! -f $XDEBUG_INI_PATH ]; then
|
# if [ ! -f $XDEBUG_INI_PATH ]; then
|
||||||
echo "zend_extension = xdebug.so" >> $XDEBUG_INI_PATH
|
# echo "zend_extension = xdebug.so" >> $XDEBUG_INI_PATH
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
cp -v $XDEBUG_INI_PATH $INSTALL_PATH/$XDEBUG_INI
|
# cp -v $XDEBUG_INI_PATH $INSTALL_PATH/$XDEBUG_INI
|
||||||
echo -e "${OK}done${NC}"
|
# echo -e "${OK}done${NC}"
|
||||||
|
|
||||||
echo -e "${LED}XDEBUG${NC} All Install ${OK}done${NC}"
|
echo -e "${LED}XDEBUG${NC} All Install ${OK}done${NC}"
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
# Application
|
# Application
|
||||||
**/web/app/plugins/*
|
**/web/app/plugins/*
|
||||||
!**/web/app/plugins/.gitkeep
|
!**/web/app/plugins/.gitkeep
|
||||||
|
**/web/app/themes/*
|
||||||
|
!**/web/app/themes/.gitkeep
|
||||||
**/web/app/mu-plugins/*/
|
**/web/app/mu-plugins/*/
|
||||||
**/web/app/upgrade
|
**/web/app/upgrade
|
||||||
**/web/app/uploads/*
|
**/web/app/uploads/*
|
||||||
@@ -24,8 +26,14 @@
|
|||||||
**/.*/*
|
**/.*/*
|
||||||
!**/.**/.gitkeep
|
!**/.**/.gitkeep
|
||||||
!**/.dev/*
|
!**/.dev/*
|
||||||
|
!**/.github/*
|
||||||
|
!**/.profile.d/999-app.sh
|
||||||
|
|
||||||
# Composer
|
# Composer
|
||||||
vendor
|
vendor
|
||||||
|
|
||||||
# WP-CLI
|
# WP-CLI
|
||||||
**/wp-cli.local.yml
|
**/wp-cli.local.yml
|
||||||
|
|
||||||
|
# deploy
|
||||||
|
**/deploy.tar.gz
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -26,6 +26,7 @@ web/.htaccess
|
|||||||
!.**/.gitkeep
|
!.**/.gitkeep
|
||||||
!.dev/*
|
!.dev/*
|
||||||
!.github/*
|
!.github/*
|
||||||
|
!.profile.d/999-app.sh
|
||||||
|
|
||||||
# Composer
|
# Composer
|
||||||
/vendor
|
/vendor
|
||||||
|
|||||||
15
.profile.d/999-app.sh
Normal file
15
.profile.d/999-app.sh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SECRETS_PATH=${SECRETS_PATH:-"/run/secrets"};
|
||||||
|
SECRETS_FORCE=${SECRETS_FORCE:-1};
|
||||||
|
|
||||||
|
if [ -d "${SECRETS_PATH}" ]; then
|
||||||
|
for file in "${SECRETS_PATH}/*"; do
|
||||||
|
name=$(basename $file);
|
||||||
|
if [ -z ${!name} ] || [ ${SECRETS_FORCE} = 1 ]; then
|
||||||
|
export "${name}=$( echo $(< $file) | tr '\n' ' ')";
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
export PATH="${HOME}/bin:${PATH}"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
alias d-composer="docker-compose run --rm --entrypoint=composer wordpress"
|
alias d-composer="docker-compose run --rm wordpress composer"
|
||||||
alias d-wp="docker-compose run --rm --entrypoint=wp wordpress"
|
alias d-wp="docker-compose run --rm wordpress wp"
|
||||||
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
|
alias d-heroku="docker-compose run --rm --entrypoint=heroku wordpress"
|
||||||
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
|
alias d-bash="docker-compose run --rm --entrypoint=bash wordpress -l"
|
||||||
alias dc-build="docker-compose build --pull --no-cache"
|
alias dc-build="docker-compose build --pull --no-cache"
|
||||||
|
|||||||
@@ -1,11 +1,47 @@
|
|||||||
Set-Alias -Name d-composer -Value "docker-compose run --rm --entrypoint -Value composer wordpress"
|
Set-Alias d $(Get-Command docker).Source
|
||||||
Set-Alias -Name d-wp -Value "docker-compose run --rm --entrypoint -Value wp wordpress"
|
Set-Alias dc $(Get-Command docker-compose).Source
|
||||||
Set-Alias -Name d-heroku -Value "docker-compose run --rm --entrypoint -Value heroku wordpress"
|
Set-Alias g $(Get-Command git).Source
|
||||||
Set-Alias -Name d-bash -Value "docker-compose run --rm --entrypoint -Value bash wordpress -l"
|
|
||||||
Set-Alias -Name dc-build -Value "docker-compose build --pull --no-cache"
|
function d-composer {
|
||||||
Set-Alias -Name dc-init -Value "docker-compose run --rm --entrypoint '.dev/init.sh' wordpress"
|
dc run --rm wordpress composer $args
|
||||||
Set-Alias -Name dc-up -Value "docker-compose up -d"
|
}
|
||||||
Set-Alias -Name dc-down -Value "docker-compose down"
|
|
||||||
Set-Alias -Name dc-destroy -Value "docker-compose down -v"
|
function d-wp {
|
||||||
Set-Alias -Name g-clean -Value "git clean -xd"
|
dc run --rm wordpress wp $args
|
||||||
Set-Alias -Name g-mk-deploy -Value "git archive -o deploy.tar.gz HEAD"
|
}
|
||||||
|
|
||||||
|
function d-heroku {
|
||||||
|
dc run --rm --entrypoint=heroku wordpress $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function d-bash {
|
||||||
|
dc run --rm --entrypoint=bash wordpress -l $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function dc-build {
|
||||||
|
dc build --pull --no-cache $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function dc-init {
|
||||||
|
dc run --rm --entrypoint '.dev/init.sh' wordpress $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function dc-up {
|
||||||
|
dc up -d $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function dc-down {
|
||||||
|
dc down $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function dc-destroy {
|
||||||
|
dc down -v $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function g-clean {
|
||||||
|
g clean -xd $args
|
||||||
|
}
|
||||||
|
|
||||||
|
function g-mk-deploy {
|
||||||
|
g archive -o deploy.tar.gz HEAD
|
||||||
|
}
|
||||||
|
|||||||
46
Dockerfile
46
Dockerfile
@@ -1,46 +0,0 @@
|
|||||||
ARG UID=1000
|
|
||||||
ARG GID=1000
|
|
||||||
ARG USER_NAME=heroku
|
|
||||||
|
|
||||||
FROM heroku/heroku:20-build AS base
|
|
||||||
RUN \
|
|
||||||
apt-get -qq update; \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
mysql-client \
|
|
||||||
&& apt-get download nginx-common \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*; \
|
|
||||||
wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh; \
|
|
||||||
curl -sLo /usr/local/bin/wp \
|
|
||||||
https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar; \
|
|
||||||
chmod +x /usr/local/bin/wp; \
|
|
||||||
curl -sLo /usr/local/bin/mhsendmail \
|
|
||||||
https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64; \
|
|
||||||
chmod +x /usr/local/bin/mhsendmail;
|
|
||||||
|
|
||||||
FROM heroku/heroku:20-build AS build
|
|
||||||
COPY . /app
|
|
||||||
WORKDIR /app
|
|
||||||
RUN \
|
|
||||||
mkdir -p /tmp/buildpack/php /tmp/build_cache /tmp/env; \
|
|
||||||
curl -sL https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/php.tgz \
|
|
||||||
| tar --warning=none -xz -C /tmp/buildpack/php; \
|
|
||||||
STACK=heroku-20 /tmp/buildpack/php/bin/compile /app /tmp/build_cache /tmp/env; \
|
|
||||||
cp -v config/mailhog.ini /app/.heroku/php/etc/php/conf.d/225-mailhog.ini;
|
|
||||||
|
|
||||||
FROM base AS final
|
|
||||||
ARG UID
|
|
||||||
ARG GID
|
|
||||||
ARG USER_NAME
|
|
||||||
RUN \
|
|
||||||
groupadd -r --gid ${GID} ${USER_NAME}; \
|
|
||||||
useradd -M ${USER_NAME} -d /app --uid ${UID} --gid ${GID};
|
|
||||||
USER ${USER_NAME}
|
|
||||||
COPY --from=build --chown=heroku:heroku /app /app
|
|
||||||
COPY --from=build --chown=heroku:heroku /tmp/buildpack/php /buildpack/php
|
|
||||||
WORKDIR /app
|
|
||||||
ENV \
|
|
||||||
HOME=/app \
|
|
||||||
PATH=/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/usr/local/bin:/usr/bin:/bin:/app/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
|
|
||||||
MAILHOG_ADDR=mailhog:1025
|
|
||||||
ENTRYPOINT [ "heroku","local" ]
|
|
||||||
CMD [ "web" ]
|
|
||||||
26
README.md
26
README.md
@@ -1,3 +1,29 @@
|
|||||||
|
# HVG Blog
|
||||||
|
|
||||||
|
A HVG balogoldalai alatt futó rendszer Roots.io Badrock WordPress alapon. A [roots/bedrock](https://github.com/roots/bedrock) repon alapul, annyi kiegészítéssel, hogy tartalmaz egy egyedik konfigurációt ([config/hvgblog.php](https://github.com/hvg-dev/blog/blob/main/config/hvgblog.php)) és ennek betöltésével van kiegészítve az alap konfiguráció ([config/application.php](https://github.com/hvg-dev/blog/blob/3663ba851b785d0d58f914fda519a7edc0e67299/config/application.php#L130)), minden más PHP Composer függőségként van betöltve (pl. minden plugin) két repohoz kell még jog mellé:
|
||||||
|
|
||||||
|
> ## Küldő repok
|
||||||
|
>
|
||||||
|
> [hvg-dev/hvg-blog-general](https://github.com/hvg-dev/hvg-blog-general) ez az összes blogon alapértelmezetten használt téma
|
||||||
|
>
|
||||||
|
> [hvg-dev/hvg-blog-muplugin](https://github.com/hvg-dev/hvg-blog-muplugin) ez a plugin ami néhány kötelező testre szabást tartalmaz az alapbeállításokkal ellentétben
|
||||||
|
>
|
||||||
|
> :warning: **Fontos, hogy legalább olvasási jog kell a repok-hoz mert a Composer direktben onnan tölti be őket**
|
||||||
|
>
|
||||||
|
> A fentiek miatt a Composer-hez szükséges GitHub token. Részletesebben itt → [Composer Auth GH_TOKEN](#composer-auth-gh_token)
|
||||||
|
|
||||||
|
Az összes többi kiegészítés csak a Heroku, Docker és egyéb DevOps környezetek működéséhez és használatához szükséges.
|
||||||
|
|
||||||
|
A repo egyben tartalmaz egy fejlesztési környezetet is, de ezt nem szükséges használni, lehet bármit használni egy alap [roots/bedrock](https://github.com/roots/bedrock) repoval és a fenti két Composer depenednciával valamint a saját konfiguráció betöltésével ([config/hvgblog.php](https://github.com/hvg-dev/blog/blob/main/config/hvgblog.php)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Composer Auth GH_TOKEN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HVG Blog
|
HVG Blog
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=8.0 <8.1",
|
"php": ">=7.4 <8.1",
|
||||||
"ext-gd": "*",
|
"ext-gd": "*",
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
@@ -55,15 +55,28 @@
|
|||||||
"roots/wordpress": "^6.0",
|
"roots/wordpress": "^6.0",
|
||||||
"roots/wp-config": "^1.0.0",
|
"roots/wp-config": "^1.0.0",
|
||||||
"roots/wp-password-bcrypt": "^1.1.0",
|
"roots/wp-password-bcrypt": "^1.1.0",
|
||||||
|
"symfony/deprecation-contracts": "^2.2",
|
||||||
"wpackagist-theme/twentytwentytwo": "^1.2",
|
"wpackagist-theme/twentytwentytwo": "^1.2",
|
||||||
"hvg-dev/hvg-blog-muplugin": "dev-main",
|
"hvg-dev/hvg-blog-muplugin": "dev-main",
|
||||||
"hvg-dev/hvg-blog-general": "dev-main",
|
"hvg-dev/hvg-blog-general": "dev-main",
|
||||||
|
"humanmade/s3-uploads": "dev-master",
|
||||||
|
|
||||||
|
"wpackagist-plugin/code-snippets": "^3.1",
|
||||||
"wpackagist-plugin/wp-webhooks": "^2.0",
|
"wpackagist-plugin/wp-webhooks": "^2.0",
|
||||||
"wpackagist-plugin/code-snippets": "^3.1"
|
"wpackagist-plugin/disable-wordpress-updates": "^1.7",
|
||||||
|
"wpackagist-plugin/disable-comments": "^2.3",
|
||||||
|
"wpackagist-plugin/two-factor": "^0.7.1",
|
||||||
|
"wpackagist-plugin/user-role-editor": "^4.62",
|
||||||
|
"wpackagist-plugin/comments-from-facebook": "^2.5",
|
||||||
|
"wpackagist-plugin/acme-fix-images": "^1.0",
|
||||||
|
"wpackagist-plugin/ad-inserter": "^2.7",
|
||||||
|
"wpackagist-plugin/wp-api-swaggerui": "^1.1",
|
||||||
|
"wpackagist-plugin/cloudflare": "^4.10",
|
||||||
|
"wpackagist-plugin/menu-image": "^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"heroku/heroku-buildpack-php": "*",
|
"heroku/heroku-buildpack-php": "*",
|
||||||
|
"wp-cli/wp-cli-bundle": "*",
|
||||||
"squizlabs/php_codesniffer": "^3.6.2",
|
"squizlabs/php_codesniffer": "^3.6.2",
|
||||||
"roave/security-advisories": "dev-latest"
|
"roave/security-advisories": "dev-latest"
|
||||||
},
|
},
|
||||||
|
|||||||
5202
composer.lock
generated
5202
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -3,24 +3,27 @@
|
|||||||
use Roots\WPConfig\Config;
|
use Roots\WPConfig\Config;
|
||||||
use function Env\env;
|
use function Env\env;
|
||||||
|
|
||||||
|
Config::define( 'BLOG_SLUG', env('BLOG_SLUG') ?? 'hvg-blog' );
|
||||||
|
Config::define( 'WPLANG', env('WPLANG') ?? 'hu_HU' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Redis Cache Config
|
* Redis Cache Config
|
||||||
*/
|
*/
|
||||||
$redis_url = parse_url( env( 'REDIS_URL' ) );
|
$redis_url = parse_url( env( 'REDIS_URL' ) );
|
||||||
|
|
||||||
if ( isset( $redis_url['host'] ) ) {
|
if ( isset( $redis_url['host'] ) ) {
|
||||||
define( 'WP_REDIS_USER', trim( $redis_url['user'] ) );
|
Config::define( 'WP_REDIS_USER', trim( $redis_url['user'] ) );
|
||||||
define( 'WP_REDIS_PASSWORD', trim( $redis_url['pass'] ) );
|
Config::define( 'WP_REDIS_PASSWORD', trim( $redis_url['pass'] ) );
|
||||||
define( 'WP_REDIS_HOST', trim( $redis_url['host'] ) );
|
Config::define( 'WP_REDIS_HOST', trim( $redis_url['host'] ) );
|
||||||
define( 'WP_REDIS_PORT', trim( $redis_url['port'], '/' ) );
|
Config::define( 'WP_REDIS_PORT', trim( $redis_url['port'], '/' ) );
|
||||||
|
|
||||||
if ( env( 'WP_REDIS_MAXTTL' ) ) {
|
if ( env( 'WP_REDIS_MAXTTL' ) ) {
|
||||||
define( 'WP_REDIS_MAXTTL', env( 'WP_REDIS_MAXTTL' ) );
|
Config::define( 'WP_REDIS_MAXTTL', env( 'WP_REDIS_MAXTTL' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( env( 'WP_REDIS_DISABLED' ) ) {
|
if ( env( 'WP_REDIS_DISABLED' ) ) {
|
||||||
define( 'WP_REDIS_DISABLED', env( 'WP_REDIS_DISABLED' ) );
|
Config::define( 'WP_REDIS_DISABLED', env( 'WP_REDIS_DISABLED' ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -46,7 +49,6 @@ if (env('BUCKETEER_BUCKET_NAME')) {
|
|||||||
} else {
|
} else {
|
||||||
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME'));
|
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME'));
|
||||||
}
|
}
|
||||||
Config::define('S3_UPLOADS_BUCKET', env('BUCKETEER_BUCKET_NAME'));
|
|
||||||
Config::define('S3_UPLOADS_KEY', env('BUCKETEER_AWS_ACCESS_KEY_ID'));
|
Config::define('S3_UPLOADS_KEY', env('BUCKETEER_AWS_ACCESS_KEY_ID'));
|
||||||
Config::define('S3_UPLOADS_SECRET', env('BUCKETEER_AWS_SECRET_ACCESS_KEY'));
|
Config::define('S3_UPLOADS_SECRET', env('BUCKETEER_AWS_SECRET_ACCESS_KEY'));
|
||||||
Config::define('S3_UPLOADS_REGION', env('BUCKETEER_AWS_REGION'));
|
Config::define('S3_UPLOADS_REGION', env('BUCKETEER_AWS_REGION'));
|
||||||
@@ -92,17 +94,13 @@ if (env('MAILGUN_API_KEY')) {
|
|||||||
Config::define('SMTP_LOGIN', env('SMTP_LOGIN') ?? '');
|
Config::define('SMTP_LOGIN', env('SMTP_LOGIN') ?? '');
|
||||||
Config::define('SMTP_PASSWORD', env('SMTP_PASSWORD') ?? '');
|
Config::define('SMTP_PASSWORD', env('SMTP_PASSWORD') ?? '');
|
||||||
Config::define('SMTP_PORT', env('SMTP_PORT') ?? '1025');
|
Config::define('SMTP_PORT', env('SMTP_PORT') ?? '1025');
|
||||||
Config::define('SMTP_SERVER', env('SMTP_SERVER') ?? 'mailsmtp');
|
Config::define('SMTP_SERVER', env('SMTP_SERVER') ?? 'mailhog');
|
||||||
Config::define('SMTP_SECURE', env('SMTP_SECURE') ?? '');
|
Config::define('SMTP_SECURE', env('SMTP_SECURE') ?? '');
|
||||||
}
|
}
|
||||||
|
|
||||||
Config::define('TZ', env('TZ') ?? 'Europe/Budapest');
|
Config::define('TZ', env('TZ') ?? 'Europe/Budapest');
|
||||||
date_default_timezone_set(Config::get('TZ'));
|
date_default_timezone_set(Config::get('TZ'));
|
||||||
|
|
||||||
if (env('WPLANG')) {
|
|
||||||
Config::define('WPLANG', env('WPLANG'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Google Analytics
|
* Google Analytics
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -17,17 +17,17 @@ services:
|
|||||||
wordpress:
|
wordpress:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
|
dockerfile: ${DOCKERFILE-.dev/Dockerfile}
|
||||||
args:
|
args:
|
||||||
UID: ${UID-1000}
|
UID: ${UID-1000}
|
||||||
GID: ${GID-1000}
|
GID: ${GID-1000}
|
||||||
ports:
|
ports:
|
||||||
- "3000"
|
- "3000"
|
||||||
command:
|
|
||||||
- "web"
|
|
||||||
- "--env=/dev/null"
|
|
||||||
environment:
|
environment:
|
||||||
HISTFILE: ${HISTFILE-/tmp/.bash_history}
|
HISTFILE: ${HISTFILE-/tmp/.bash_history}
|
||||||
XDEBUG_HOST: ${XDEBUG_HOST-host.docker.internal}
|
XDEBUG_HOST: ${XDEBUG_HOST-host.docker.internal}
|
||||||
|
secrets:
|
||||||
|
- COMPOSER_AUTH
|
||||||
env_file: ./.env
|
env_file: ./.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/app
|
- ./:/app
|
||||||
@@ -43,6 +43,22 @@ services:
|
|||||||
MYSQL_USER: wordpress
|
MYSQL_USER: wordpress
|
||||||
MYSQL_PASSWORD: wordpress
|
MYSQL_PASSWORD: wordpress
|
||||||
|
|
||||||
|
wp-s3:
|
||||||
|
image: quay.io/minio/minio
|
||||||
|
ports:
|
||||||
|
- "9000"
|
||||||
|
- "9001"
|
||||||
|
command:
|
||||||
|
- "server"
|
||||||
|
- "/data"
|
||||||
|
- "--console-address"
|
||||||
|
- ":9001"
|
||||||
|
environment:
|
||||||
|
MINIO_ROOT_USER: wordpress
|
||||||
|
MINIO_ROOT_PASSWORD: wordpress
|
||||||
|
volumes:
|
||||||
|
- wp-s3-data:/data
|
||||||
|
|
||||||
mailhog:
|
mailhog:
|
||||||
image: mailhog/mailhog
|
image: mailhog/mailhog
|
||||||
ports:
|
ports:
|
||||||
@@ -50,6 +66,7 @@ services:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
wp-db-data:
|
wp-db-data:
|
||||||
|
wp-s3-data:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
@@ -61,3 +78,5 @@ secrets:
|
|||||||
file: ${SSL_CRT-./.dev/nginx/lndo.site.crt}
|
file: ${SSL_CRT-./.dev/nginx/lndo.site.crt}
|
||||||
SSL_KEY:
|
SSL_KEY:
|
||||||
file: ${SSL_KEY-./.dev/nginx/lndo.site.key}
|
file: ${SSL_KEY-./.dev/nginx/lndo.site.key}
|
||||||
|
COMPOSER_AUTH:
|
||||||
|
file: ${COMPOSER_AUTH_FILE-~/.composer/auth.json}
|
||||||
|
|||||||
Reference in New Issue
Block a user