Initial: Traefik + cloudflared + Gitea auf dama.casa
This commit is contained in:
52
Makefile
Normal file
52
Makefile
Normal file
@@ -0,0 +1,52 @@
|
||||
ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
ENV_FILE := $(ROOT_DIR)/.env
|
||||
|
||||
-include $(ENV_FILE)
|
||||
export
|
||||
|
||||
# docker compose mit Root-.env für einen Service aufrufen
|
||||
define compose
|
||||
docker compose --env-file $(ENV_FILE) -f $(ROOT_DIR)/services/$(1)/docker-compose.yaml
|
||||
endef
|
||||
|
||||
.PHONY: setup traefik-up traefik-down gitea-up gitea-down cloudflared-up cloudflared-down all-up all-down
|
||||
|
||||
## Einmalige Einrichtung (nach erstem `cp .env.example .env`)
|
||||
setup:
|
||||
@echo "→ Docker-Netzwerk 'proxy' anlegen..."
|
||||
docker network create proxy 2>/dev/null || true
|
||||
@echo "→ acme.json vorbereiten..."
|
||||
mkdir -p $(ROOT_DIR)/services/traefik/data
|
||||
touch $(ROOT_DIR)/services/traefik/data/acme.json
|
||||
chmod 600 $(ROOT_DIR)/services/traefik/data/acme.json
|
||||
@echo "→ traefik.yaml aus Template generieren (DOMAIN=$(DOMAIN))..."
|
||||
envsubst < $(ROOT_DIR)/services/traefik/config/traefik.yaml.template \
|
||||
> $(ROOT_DIR)/services/traefik/config/traefik.yaml
|
||||
@echo "✓ Setup abgeschlossen"
|
||||
|
||||
## Traefik
|
||||
traefik-up:
|
||||
$(call compose,traefik) up -d
|
||||
|
||||
traefik-down:
|
||||
$(call compose,traefik) down
|
||||
|
||||
## Gitea
|
||||
gitea-up:
|
||||
$(call compose,gitea) up -d
|
||||
|
||||
gitea-down:
|
||||
$(call compose,gitea) down
|
||||
|
||||
## Cloudflare Tunnel
|
||||
cloudflared-up:
|
||||
$(call compose,cloudflared) up -d
|
||||
|
||||
cloudflared-down:
|
||||
$(call compose,cloudflared) down
|
||||
|
||||
## Alle Services starten (Reihenfolge: Traefik → cloudflared → Gitea)
|
||||
all-up: traefik-up cloudflared-up gitea-up
|
||||
|
||||
## Alle Services stoppen
|
||||
all-down: gitea-down cloudflared-down traefik-down
|
||||
Reference in New Issue
Block a user