53 lines
1.5 KiB
Makefile
53 lines
1.5 KiB
Makefile
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
|