Files

125 lines
6.2 KiB
Makefile

SHELL := /bin/bash
ENV_FILE := $(if $(wildcard .env),.env,.env.example)
PG_ENV_FILE := $(if $(wildcard .env.postgres),.env.postgres,.env.postgres.example)
DEVPROD_ENV_FILE := $(if $(wildcard .env.devprod),.env.devprod,.env.devprod.example)
MYSQL_COMPOSE_FILE := docker-compose.yml
PG_COMPOSE_FILE := docker-compose.postgres.yml
DEVPROD_COMPOSE_FILE := docker-compose.devprod.yml
DEVPROD_NOSSL_COMPOSE_FILE := docker-compose.devprod.nossl.yml
.PHONY: up down logs ps occ install-oidc enable-oidc up-pg down-pg logs-pg ps-pg occ-pg install-oidc-pg enable-oidc-pg up-devprod down-devprod logs-devprod ps-devprod occ-devprod install-oidc-devprod enable-oidc-devprod fix-apps-perms-devprod up-devprod-nossl down-devprod-nossl logs-devprod-nossl ps-devprod-nossl occ-devprod-nossl install-oidc-devprod-nossl enable-oidc-devprod-nossl fix-apps-perms-devprod-nossl trust-domain-devprod trust-domain-devprod-nossl
up:
docker compose -f $(MYSQL_COMPOSE_FILE) --env-file $(ENV_FILE) up -d --build
down:
docker compose -f $(MYSQL_COMPOSE_FILE) --env-file $(ENV_FILE) down
logs:
docker compose -f $(MYSQL_COMPOSE_FILE) --env-file $(ENV_FILE) logs -f --tail=100
ps:
docker compose -f $(MYSQL_COMPOSE_FILE) --env-file $(ENV_FILE) ps
occ:
@test -n "$(cmd)" || (echo "Usage: make occ cmd=\"app:list\"" && exit 1)
./scripts/nextcloud-occ.sh $(ENV_FILE) $(cmd)
install-oidc:
./scripts/nextcloud-occ.sh $(ENV_FILE) app:install user_oidc
./scripts/nextcloud-occ.sh $(ENV_FILE) app:enable user_oidc
enable-oidc:
./scripts/nextcloud-occ.sh $(ENV_FILE) app:enable user_oidc
up-pg:
docker compose -f $(PG_COMPOSE_FILE) --env-file $(PG_ENV_FILE) up -d --build
down-pg:
docker compose -f $(PG_COMPOSE_FILE) --env-file $(PG_ENV_FILE) down
logs-pg:
docker compose -f $(PG_COMPOSE_FILE) --env-file $(PG_ENV_FILE) logs -f --tail=100
ps-pg:
docker compose -f $(PG_COMPOSE_FILE) --env-file $(PG_ENV_FILE) ps
occ-pg:
@test -n "$(cmd)" || (echo "Usage: make occ-pg cmd=\"app:list\"" && exit 1)
COMPOSE_FILE=$(PG_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(PG_ENV_FILE) $(cmd)
install-oidc-pg:
COMPOSE_FILE=$(PG_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(PG_ENV_FILE) app:install user_oidc
COMPOSE_FILE=$(PG_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(PG_ENV_FILE) app:enable user_oidc
enable-oidc-pg:
COMPOSE_FILE=$(PG_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(PG_ENV_FILE) app:enable user_oidc
up-devprod:
docker compose -f $(DEVPROD_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) up -d --build
down-devprod:
docker compose -f $(DEVPROD_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) down
logs-devprod:
docker compose -f $(DEVPROD_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) logs -f --tail=100
ps-devprod:
docker compose -f $(DEVPROD_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) ps
occ-devprod:
@test -n "$(cmd)" || (echo "Usage: make occ-devprod cmd=\"app:list\"" && exit 1)
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) $(cmd)
install-oidc-devprod:
$(MAKE) fix-apps-perms-devprod
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:install user_oidc
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:enable user_oidc
enable-oidc-devprod:
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:enable user_oidc
fix-apps-perms-devprod:
docker compose -f $(DEVPROD_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) exec -u root app sh -c "chown -R www-data:www-data /var/www/html/apps /var/www/html/custom_apps && chmod -R u+rwX,g+rwX /var/www/html/apps /var/www/html/custom_apps"
up-devprod-nossl:
docker compose -f $(DEVPROD_NOSSL_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) up -d --build
down-devprod-nossl:
docker compose -f $(DEVPROD_NOSSL_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) down
logs-devprod-nossl:
docker compose -f $(DEVPROD_NOSSL_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) logs -f --tail=100
ps-devprod-nossl:
docker compose -f $(DEVPROD_NOSSL_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) ps
occ-devprod-nossl:
@test -n "$(cmd)" || (echo "Usage: make occ-devprod-nossl cmd=\"app:list\"" && exit 1)
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) $(cmd)
install-oidc-devprod-nossl:
$(MAKE) fix-apps-perms-devprod-nossl
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:install user_oidc
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:enable user_oidc
enable-oidc-devprod-nossl:
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) app:enable user_oidc
fix-apps-perms-devprod-nossl:
docker compose -f $(DEVPROD_NOSSL_COMPOSE_FILE) --env-file $(DEVPROD_ENV_FILE) exec -u root app sh -c "chown -R www-data:www-data /var/www/html/apps /var/www/html/custom_apps && chmod -R u+rwX,g+rwX /var/www/html/apps /var/www/html/custom_apps"
trust-domain-devprod:
@domain="$${domain:-$$(grep -E '^NEXTCLOUD_DOMAIN=' $(DEVPROD_ENV_FILE) | cut -d= -f2-)}"; \
if [ -z "$$domain" ]; then echo "Usage: make trust-domain-devprod domain=cloud.example.com"; exit 1; fi; \
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set trusted_domains 1 --value="$$domain"; \
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set overwritehost --value="$$domain"; \
COMPOSE_FILE=$(DEVPROD_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set overwriteprotocol --value="https"
trust-domain-devprod-nossl:
@domain="$${domain:-$$(grep -E '^NEXTCLOUD_DOMAIN=' $(DEVPROD_ENV_FILE) | cut -d= -f2-)}"; \
if [ -z "$$domain" ]; then echo "Usage: make trust-domain-devprod-nossl domain=cloud.example.com"; exit 1; fi; \
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set trusted_domains 1 --value="$$domain"; \
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set overwritehost --value="$$domain"; \
COMPOSE_FILE=$(DEVPROD_NOSSL_COMPOSE_FILE) ./scripts/nextcloud-occ.sh $(DEVPROD_ENV_FILE) config:system:set overwriteprotocol --value="https"