fix(postiz,ente,lobehub): address testing feedback
- postiz: add postiz-rebuild helper for env changes & social provider setup - ente: rewrite ente-setup Step 4 to use direct SQL instead of flaky CLI - ente: improve ente-upgrade-subscription to bypass interactive prompts - lobehub: replace broken ParadeDB APT repo (402) with GitHub release .deb
This commit is contained in:
@@ -339,6 +339,9 @@ cat <<'SETUP' >/usr/local/bin/ente-setup
|
||||
set -e
|
||||
|
||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||
DB_NAME="$(grep -A4 '^db:' /opt/ente/server/museum.yaml | awk '/name:/{print $2}')"
|
||||
DB_PASS="$(grep -A5 '^db:' /opt/ente/server/museum.yaml | awk '/password:/{print $2}')"
|
||||
|
||||
echo "=== Ente First-Time Setup ==="
|
||||
echo ""
|
||||
read -r -p "Enter your account email: " EMAIL
|
||||
@@ -358,9 +361,12 @@ for i in $(seq 1 10); do
|
||||
if [ -n "$OTT" ]; then break; fi
|
||||
sleep 1
|
||||
done
|
||||
if [ -z "$OTT" ]; then
|
||||
OTT=$(journalctl -u ente-museum --no-pager -n 200 2>/dev/null | grep -oP 'ott:\s*\K\d+' | tail -1)
|
||||
fi
|
||||
if [ -z "$OTT" ]; then
|
||||
echo "Could not auto-detect code. Searching all recent codes..."
|
||||
journalctl -u ente-museum --no-pager -n 200 | grep "Verification code" | tail -5
|
||||
journalctl -u ente-museum --no-pager -n 200 | grep -i "Verification code\|ott" | tail -5
|
||||
echo ""
|
||||
echo "Enter the code shown above in the web UI, then press ENTER."
|
||||
read -r -p "Press ENTER after verification..."
|
||||
@@ -371,9 +377,7 @@ else
|
||||
read -r -p "Press ENTER after you verified the code..."
|
||||
fi
|
||||
|
||||
DB_NAME="$(grep -A4 '^db:' /opt/ente/server/museum.yaml | awk '/name:/{print $2}')"
|
||||
DB_PASS="$(grep -A5 '^db:' /opt/ente/server/museum.yaml | awk '/password:/{print $2}')"
|
||||
USER_ID=$(PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -tAc "SELECT user_id FROM users ORDER BY user_id LIMIT 1;")
|
||||
USER_ID=$(PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -tAc "SELECT user_id FROM users WHERE email = '$(echo "$EMAIL" | sed "s/'/''/g")' ORDER BY user_id LIMIT 1;")
|
||||
if [ -z "$USER_ID" ]; then
|
||||
echo "Error: No verified users found in database."
|
||||
echo "Make sure you completed the verification step in the web UI."
|
||||
@@ -384,27 +388,56 @@ echo "Found user ID: $USER_ID"
|
||||
echo ""
|
||||
echo "Step 3/4: Whitelisting admin in museum.yaml..."
|
||||
if grep -q "^internal:" /opt/ente/server/museum.yaml; then
|
||||
sed -i "/^ admin:/d" /opt/ente/server/museum.yaml
|
||||
sed -i "/^internal:/a\\ admin: $USER_ID" /opt/ente/server/museum.yaml
|
||||
if ! grep -qF "$EMAIL" /opt/ente/server/museum.yaml; then
|
||||
sed -i "/admins:/a\\ - $EMAIL" /opt/ente/server/museum.yaml
|
||||
fi
|
||||
else
|
||||
printf '\ninternal:\n admin: %s\n' "$USER_ID" >> /opt/ente/server/museum.yaml
|
||||
printf '\ninternal:\n admins:\n - %s\n' "$EMAIL" >> /opt/ente/server/museum.yaml
|
||||
fi
|
||||
systemctl restart ente-museum
|
||||
sleep 2
|
||||
echo "Done."
|
||||
|
||||
echo ""
|
||||
echo "Step 4/4: Adding account to Ente CLI & upgrading subscription..."
|
||||
mkdir -p /opt/ente_data/photos
|
||||
export ENTE_CLI_SECRETS_PATH=/opt/ente/cli-config/secrets.txt
|
||||
printf 'photos\n/opt/ente_data/photos\n' | ente account add
|
||||
ente admin update-subscription -a "$EMAIL" -u "$EMAIL" --no-limit True
|
||||
echo "Step 4/4: Upgrading subscription..."
|
||||
PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -c "UPDATE subscriptions SET storage_in_mbs_per_plan = 10737418240, expiry_time = 2524608000000000 WHERE user_id = ${USER_ID};" 2>/dev/null
|
||||
ROWS=$(PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -tAc "SELECT count(*) FROM subscriptions WHERE user_id = ${USER_ID};" 2>/dev/null)
|
||||
if [ "$ROWS" = "0" ]; then
|
||||
PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -c "INSERT INTO subscriptions (user_id, storage_in_mbs_per_plan, expiry_time, product_id, payment_provider, transaction_id, original_transaction_id) VALUES (${USER_ID}, 10737418240, 2524608000000000, 'self_hosted_unlimited', 'admin', 'admin_setup', 'admin_setup');" 2>/dev/null
|
||||
fi
|
||||
echo "Subscription upgraded to unlimited storage."
|
||||
echo ""
|
||||
echo "=== Setup Complete ==="
|
||||
echo "You can now use Ente Photos/Auth with unlimited storage."
|
||||
echo "Access Ente Photos at: http://${LOCAL_IP}:3000"
|
||||
SETUP
|
||||
chmod +x /usr/local/bin/ente-setup
|
||||
|
||||
cat <<'EOF' >/usr/local/bin/ente-upgrade-subscription
|
||||
#!/usr/bin/env bash
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: ente-upgrade-subscription <email>"
|
||||
echo "Example: ente-upgrade-subscription user@example.com"
|
||||
exit 1
|
||||
fi
|
||||
EMAIL="$1"
|
||||
DB_NAME="$(grep -A4 '^db:' /opt/ente/server/museum.yaml | awk '/name:/{print $2}')"
|
||||
DB_PASS="$(grep -A5 '^db:' /opt/ente/server/museum.yaml | awk '/password:/{print $2}')"
|
||||
echo "Upgrading subscription for: $EMAIL"
|
||||
USER_ID=$(PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -tAc "SELECT user_id FROM users WHERE email = '$(echo "$EMAIL" | sed "s/'/''/g")' ORDER BY user_id LIMIT 1;")
|
||||
if [ -z "$USER_ID" ]; then
|
||||
echo "Error: User not found in database."
|
||||
exit 1
|
||||
fi
|
||||
PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -c "UPDATE subscriptions SET storage_in_mbs_per_plan = 10737418240, expiry_time = 2524608000000000 WHERE user_id = ${USER_ID};" 2>/dev/null
|
||||
ROWS=$(PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -tAc "SELECT count(*) FROM subscriptions WHERE user_id = ${USER_ID};" 2>/dev/null)
|
||||
if [ "$ROWS" = "0" ]; then
|
||||
PGPASSWORD="$DB_PASS" psql -h 127.0.0.1 -U ente -d "$DB_NAME" -c "INSERT INTO subscriptions (user_id, storage_in_mbs_per_plan, expiry_time, product_id, payment_provider, transaction_id, original_transaction_id) VALUES (${USER_ID}, 10737418240, 2524608000000000, 'self_hosted_unlimited', 'admin', 'admin_setup', 'admin_setup');" 2>/dev/null
|
||||
fi
|
||||
echo "Done. Subscription upgraded to unlimited storage for: $EMAIL"
|
||||
EOF
|
||||
chmod +x /usr/local/bin/ente-upgrade-subscription
|
||||
|
||||
msg_ok "Created helper scripts"
|
||||
|
||||
motd_ssh
|
||||
|
||||
Reference in New Issue
Block a user