From 3dc3a03066213a0219fc5f575b33f50ee2dbad71 Mon Sep 17 00:00:00 2001 From: h Date: Thu, 1 Oct 2026 02:02:05 +0200 Subject: [PATCH] feat(env): random host ports for commented publishing --- template/{{ part_dir }}/Makefile.jinja | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/template/{{ part_dir }}/Makefile.jinja b/template/{{ part_dir }}/Makefile.jinja index 99b0cde..4e4c4d4 100644 --- a/template/{{ part_dir }}/Makefile.jinja +++ b/template/{{ part_dir }}/Makefile.jinja @@ -23,8 +23,15 @@ post-deploy: @: {% if layout == 'root' %} env: - @test -f .env || cp .env.example .env - @test -f docker-compose.override.yml || cp docker-compose.override.yml.example docker-compose.override.yml + @fresh=; test -f .env || { cp .env.example .env; fresh=1; }; \ + if ! test -f docker-compose.override.yml; then \ + cp docker-compose.override.yml.example docker-compose.override.yml; \ + for port in $$(sed -n 's/.*127\.0\.0\.1:\([0-9]*\):.*/\1/p' docker-compose.override.yml | sort -u); do \ + random=$$((20000 + $$(od -An -N2 -tu2 /dev/urandom) % 40000)); \ + sed "s/127\.0\.0\.1:$$port:/127.0.0.1:$$random:/" docker-compose.override.yml > docker-compose.override.yml.tmp && mv docker-compose.override.yml.tmp docker-compose.override.yml; \ + test -z "$$fresh" || { sed "s|localhost:$$port/|localhost:$$random/|" .env > .env.tmp && mv .env.tmp .env; }; \ + done; \ + fi recreate: $(COMPOSE) up -d --force-recreate