Add server make targets, install script, and .env setup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-13 19:18:22 +02:00
parent e0444fa40c
commit 5bbaa8bb8b
4 changed files with 46 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
SERVER=user@example.com
WEBROOT=/home/example.com/public_html
USER_REPO=ssh://git@gitea.example.com:222/user/repo.git
+3
View File
@@ -1,3 +1,6 @@
# Environment
.env
# Grav CMS # Grav CMS
user/accounts/ user/accounts/
user/data/ user/data/
+15
View File
@@ -1,3 +1,7 @@
-include .env
export
# Local dev
start: start:
docker compose up -d docker compose up -d
@@ -9,8 +13,19 @@ setup: start install-plugins
install-plugins: install-plugins:
docker exec natascha_grav php /app/www/public/bin/gpm install $(shell cat plugins.txt | tr '\n' ' ') -y docker exec natascha_grav php /app/www/public/bin/gpm install $(shell cat plugins.txt | tr '\n' ' ') -y
# User repo
deploy: deploy:
git subtree push --prefix=user user-deploy main git subtree push --prefix=user user-deploy main
pull-content: pull-content:
git subtree pull --prefix=user user-deploy main --squash git subtree pull --prefix=user user-deploy main --squash
# Server
server-install:
ssh $(SERVER) "bash -s" < scripts/server-install.sh
server-install-plugins:
ssh $(SERVER) "cd $(WEBROOT) && php bin/gpm install $(shell cat plugins.txt | tr '\n' ' ') -y"
server-upgrade-grav:
ssh $(SERVER) "cd $(WEBROOT) && php bin/grav upgrade"
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
set -e
: "${WEBROOT:?WEBROOT is not set}"
: "${USER_REPO:?USER_REPO is not set}"
echo "==> Installing PHP extensions"
apt-get install -y php-curl php-gd php-mbstring php-xml php-zip php-yaml php-intl
echo "==> Downloading Grav"
cd "$WEBROOT"
wget -q https://getgrav.org/download/core/grav-admin/latest -O grav-admin.zip
unzip -q grav-admin.zip
mv grav-admin/* grav-admin/.htaccess .
rm -rf grav-admin grav-admin.zip
echo "==> Cloning user repo"
rm -rf user
git clone "$USER_REPO" user
echo "==> Setting permissions"
find "$WEBROOT" -type f -exec chmod 664 {} \;
find "$WEBROOT" -type d -exec chmod 775 {} \;
echo "==> Done. Visit your domain to complete setup."