Add in cloudflare ddns and restructure repo

This commit is contained in:
James Thompson
2026-05-19 08:30:25 +00:00
parent c546fab5e1
commit 6fb3fc65e4
35 changed files with 132 additions and 131 deletions

View File

@@ -1,49 +1,50 @@
SERVICES=traefik whoami gitea nextcloud devbox docs-site
SERVICES_DIR=services
.PHONY: up down restart backup init-env env-sync docs generate-docs serve-docs logs status up-% down-%
up:
for svc in $(SERVICES); do \
if [ -f "$$svc/docker-compose.yml" ]; then \
if [ -f "$(SERVICES_DIR)/$$svc/docker-compose.yml" ]; then \
echo "Starting $$svc..."; \
(cd $$svc && docker compose --env-file ../.env `if [ -f .env ]; then echo --env-file .env; fi` up -d); \
(cd $(SERVICES_DIR)/$$svc && docker compose --env-file ../../.env `if [ -f .env ]; then echo --env-file .env; fi` up -d); \
fi; \
done; \
up-%:
@svc=$*; \
if [ -f "$$svc/docker-compose.yml" ]; then \
if [ -f "$(SERVICES_DIR)/$$svc/docker-compose.yml" ]; then \
echo "Starting $$svc..."; \
(cd $$svc && docker compose --env-file ../.env `if [ -f .env ]; then echo --env-file .env; fi` up -d); \
(cd $(SERVICES_DIR)/$$svc && docker compose --env-file ../../.env `if [ -f .env ]; then echo --env-file .env; fi` up -d); \
fi
down-%:
@svc=$*; \
if [ -f "$$svc/docker-compose.yml" ]; then \
if [ -f "$(SERVICES_DIR)/$$svc/docker-compose.yml" ]; then \
echo "Stopping $$svc..."; \
(cd $$svc && docker compose down); \
(cd $(SERVICES_DIR)/$$svc && docker compose down); \
fi
down:
@for svc in $(SERVICES); do \
if [ -f "$$svc/docker-compose.yml" ]; then \
if [ -f "$(SERVICES_DIR)/$$svc/docker-compose.yml" ]; then \
echo "Stopping $$svc..."; \
(cd $$svc && docker compose down); \
(cd $(SERVICES_DIR)/$$svc && docker compose down); \
fi; \
done
restart: down up
logs:
@echo "=== Traefik ===" && (cd traefik && docker compose logs --tail=10)
@echo "=== Gitea ===" && (cd gitea && docker compose logs --tail=10)
@echo "=== Nextcloud ===" && (cd nextcloud && docker compose logs --tail=10)
@echo "=== Traefik ===" && (cd $(SERVICES_DIR)/traefik && docker compose logs --tail=10)
@echo "=== Gitea ===" && (cd $(SERVICES_DIR)/gitea && docker compose logs --tail=10)
@echo "=== Nextcloud ===" && (cd $(SERVICES_DIR)/nextcloud && docker compose logs --tail=10)
status:
@for svc in $(SERVICES); do \
if [ -f "$$svc/docker-compose.yml" ]; then \
if [ -f "$(SERVICES_DIR)/$$svc/docker-compose.yml" ]; then \
echo "--- $$svc ---"; \
(cd $$svc && docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"); \
(cd $(SERVICES_DIR)/$$svc && docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"); \
fi; \
done
@@ -69,6 +70,12 @@ generate-docs:
python3 scripts/generate_docs.py
docs: generate-docs
@command -v uvx >/dev/null 2>&1 || { \
echo "Error: uvx is not installed or not in PATH."; \
echo "Install with: curl -LsSf https://astral.sh/uv/install.sh | sh"; \
echo "Then run: source $$HOME/.local/bin/env"; \
exit 1; \
}
uvx --from mkdocs-material --with mkdocs-include-markdown-plugin mkdocs build
serve-docs: generate-docs