533ed2d458
Signed-off-by: Julius Knorr <jus@bitgrid.net>
67 lines
2.7 KiB
Makefile
67 lines
2.7 KiB
Makefile
SHELL := /bin/bash
|
|
|
|
.PHONY: images docker-build pull-all docs docs-watch
|
|
|
|
.ONESHELL:
|
|
images: docker/*/Dockerfile docker/Dockerfile.*
|
|
|
|
.ONESHELL:
|
|
pull-all:
|
|
for file in $$(find docker/ -maxdepth 1 -type f -iname 'Dockerfile.*'); do \
|
|
NAME=$$(echo $$file | sed 's/^.*\.//'); \
|
|
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliusknorr/nextcloud-dev-$${NAME}"; \
|
|
done
|
|
for file in $$(find docker -maxdepth 2 -type f -iname 'Dockerfile'); do \
|
|
NAME=$$(basename $$(dirname $$file)); \
|
|
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliusknorr/nextcloud-dev-$${NAME}"; \
|
|
done
|
|
|
|
pull-installed:
|
|
docker image ls | grep juliusknorr/nextcloud-dev | cut -f 1 -d " "
|
|
docker image ls | grep juliusknorr/nextcloud-dev | cut -f 1 -d " " | xargs -L 1 docker pull
|
|
|
|
# Empty target to always build
|
|
docker-build:
|
|
|
|
docker/%/Dockerfile: docker-build
|
|
NAME=$$(basename $$(dirname $@)); \
|
|
echo "=> Building dockerfile" $@ as ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest; \
|
|
(cd docker && docker build -t ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest -f $$NAME/Dockerfile .)
|
|
|
|
docker/Dockerfile.%: docker-build
|
|
NAME=$$(echo $$(basename $@) | sed 's/^.*\.//'); \
|
|
echo "=> Building dockerfile" $@ as ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest; \
|
|
(cd docker && docker build -t ghcr.io/juliusknorr/nextcloud-dev-$$NAME:latest -f Dockerfile.$$NAME .)
|
|
|
|
check: dockerfilelint shellcheck
|
|
|
|
.ONESHELL:
|
|
dockerfilelint:
|
|
for file in $$(find docker/ -type f -iname 'Dockerfile.*' -maxdepth 1); do dockerfilelint $$file; done;
|
|
for file in $$(find docker -type f -iname 'Dockerfile' -maxdepth 2); do dockerfilelint $$file; done;
|
|
|
|
.ONESHELL:
|
|
shellcheck:
|
|
for file in $$(find . -type f -iname '*.sh' -not -path './wip/*'); do shellcheck --format=gcc -x $$file; done;
|
|
for file in $$(find ./scripts -type f); do shellcheck --format=gcc -x $$file; done;
|
|
|
|
.ONESHELL:
|
|
template-apply:
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:7.1/' > docker/Dockerfile.php71
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:7.2/' > docker/Dockerfile.php72
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:7.3/' > docker/Dockerfile.php73
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:7.4/' > docker/Dockerfile.php74
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.0/' > docker/Dockerfile.php80
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.1/' > docker/Dockerfile.php81
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.2/' > docker/php82/Dockerfile
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.3/' > docker/php83/Dockerfile
|
|
cat docker/Dockerfile.php.template | sed 's/php:8.2/php:8.4/' > docker/php84/Dockerfile
|
|
|
|
docs:
|
|
pip3 install mkdocs
|
|
mkdocs
|
|
|
|
docs-watch:
|
|
pip3 install mkdocs
|
|
mkdocs serve
|