Files
Mitgliederverwaltung/Makefile
T
2026-04-07 21:46:41 +02:00

76 lines
3.4 KiB
Makefile

.PHONY: build deps up down setup deploy redeploy logs clean
# Install dependencies (composer via Docker since PHP may not be local)
deps:
npm install --no-audit --no-fund
docker run --rm -v "$$(pwd):/app" -w /app composer:2 install --no-dev --optimize-autoloader --no-interaction
# Build frontend
build: deps
npx webpack --node-env production --progress
# Start containers (detached)
up:
docker compose up -d
# Wait for NC to be ready, install it, copy app in, enable it
setup:
@echo "Waiting for Nextcloud container to be ready..."
@until docker compose exec -T nextcloud test -f config/CAN_INSTALL 2>/dev/null || \
docker compose exec -T nextcloud test -f config/config.php 2>/dev/null; do \
sleep 3; \
echo " still waiting..."; \
done
@sleep 5
@echo "Fixing custom_apps ownership..."
docker compose exec nextcloud chown www-data:www-data /var/www/html/custom_apps
@echo "Installing Nextcloud..."
docker compose exec -u www-data nextcloud php occ maintenance:install \
--database=mysql \
--database-host=db \
--database-name=$${MYSQL_DATABASE:-nextcloud} \
--database-user=$${MYSQL_USER:-nextcloud} \
--database-pass=$$(grep MYSQL_PASSWORD .env | head -1 | cut -d= -f2) \
--admin-user=$$(grep NEXTCLOUD_ADMIN_USER .env | cut -d= -f2) \
--admin-pass=$$(grep NEXTCLOUD_ADMIN_PASSWORD .env | cut -d= -f2) \
2>&1 || true
@echo "Copying app into Nextcloud..."
docker compose exec nextcloud mkdir -p /var/www/html/custom_apps/mitgliederverwaltung
docker compose exec nextcloud cp -a /app-src/appinfo /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/lib /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/templates /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/js /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/vendor /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud chown -R www-data:www-data /var/www/html/custom_apps/mitgliederverwaltung
@echo "Enabling app..."
docker compose exec -u www-data nextcloud php occ app:enable mitgliederverwaltung
@echo ""
@echo "Done! Nextcloud is running at http://localhost:8080"
@echo "Login with credentials from .env (NEXTCLOUD_ADMIN_USER / NEXTCLOUD_ADMIN_PASSWORD)"
# Full deploy: build, start, install, enable
deploy: build up setup
# Rebuild and redeploy app into running NC
redeploy: build
docker compose exec nextcloud rm -rf /var/www/html/custom_apps/mitgliederverwaltung
docker compose exec nextcloud mkdir -p /var/www/html/custom_apps/mitgliederverwaltung
docker compose exec nextcloud cp -a /app-src/appinfo /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/lib /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/templates /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/js /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud cp -a /app-src/vendor /var/www/html/custom_apps/mitgliederverwaltung/
docker compose exec nextcloud chown -R www-data:www-data /var/www/html/custom_apps/mitgliederverwaltung
docker compose exec -u www-data nextcloud php occ upgrade 2>/dev/null || true
@echo "App redeployed."
down:
docker compose down
logs:
docker compose logs -f nextcloud
# Remove volumes (full reset)
clean:
docker compose down -v