From bd25fb79ddfee74c56a4310fc1b70ef6c57e36be Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 26 Oct 2025 16:19:38 +0530 Subject: [PATCH 01/20] feat(ente): install and configure ente cli, dynamically export backend urls for frontend --- install/ente-install.sh | 61 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index 8a4b06ab4..22b4e1381 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -44,6 +44,30 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" } >>~/ente.creds msg_ok "Set up PostgreSQL" +# Download Ente cli +msg_info "Downloading Ente CLI" +$STD mkdir -p /opt/ente/cli/dist +fetch_and_deploy_gh_release "ente" "ente-io/ente" "prebuild" "cli-v0.2.3" "/opt/ente/cli/dist" "ente-cli-v0.2.3-linux-amd64.tar.gz" +$STD chmod +x /opt/ente/cli/dist/ente +msg_ok "Downloaded Ente CLI" + +msg_info "Configuring Ente CLI" +$STD export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt +$STD export PATH="/opt/ente/cli/dist:$PATH" +cat <>~/.bashrc +export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt +export PATH="/opt/ente/cli/dist:$PATH" +EOF +msg_ok "Exported Ente CLI paths" + +cat <~/.ente/config.yaml +endpoint: + api: http://localhost:8080 +EOF +msg_ok "Created Ente CLI config.yaml" + +msg_ok "Configured Ente CLI" + msg_info "Building Museum (server)" cd /opt/ente/server $STD corepack enable @@ -101,11 +125,42 @@ jwt: EOF msg_ok "Created museum.yaml" +# Prompt for backend URL +read -r -p "Enter the public URL for Ente backend (e.g., https://api.ente.yourdomain.com or http://192.168.1.100:8080) leave empty to use container IP: " backend_url +if [[ -z "$backend_url" ]]; then + # Default to local IP if user doesn't provide one + LOCAL_IP=$(hostname -I | awk '{print $1}') + ENTE_BACKEND_URL="http://$LOCAL_IP:8080" + msg_info "No URL provided, using local IP: $ENTE_BACKEND_URL" +else + ENTE_BACKEND_URL="$backend_url" + msg_info "Using provided URL: $ENTE_BACKEND_URL" +fi + +# Prompt for albums URL +read -r -p "Enter the public URL for Ente albums (e.g., https://albums.ente.yourdomain.com or http://192.168.1.100:3002) leave empty to use container IP: " albums_url +if [[ -z "$albums_url" ]]; then + LOCAL_IP=$(hostname -I | awk '{print $1}') + ENTE_ALBUMS_URL="http://$LOCAL_IP:3002" + msg_info "No URL provided, using local IP: $ENTE_ALBUMS_URL" +else + ENTE_ALBUMS_URL="$albums_url" + msg_info "Using provided URL: $ENTE_ALBUMS_URL" +fi + +export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL +export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL + +# save to bashrc +cat <>~/.bashrc +export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL +export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL +EOF +msg_ok "Saved to bashrc" + msg_info "Building Web Applications" cd /opt/ente/web $STD yarn install -export NEXT_PUBLIC_ENTE_ENDPOINT=http://localhost:8080 -export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=http://localhost:3002 $STD yarn build $STD yarn build:accounts $STD yarn build:auth @@ -172,3 +227,5 @@ msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" + +msg_info "If you want to use the Ente CLI, please follow the instructions at https://ente.io/help/self-hosting/administration/cli" From 54bf19ce9f7a7350badecd3118e81d04f45569ac Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 26 Oct 2025 16:44:46 +0530 Subject: [PATCH 02/20] temp: update build.func to use forked install script --- ct/ente.sh | 2 +- misc/build.func | 2 +- misc/install.func | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/ente.sh b/ct/ente.sh index 5733886ca..31d6858ae 100644 --- a/ct/ente.sh +++ b/ct/ente.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE diff --git a/misc/build.func b/misc/build.func index f8fcaa5fb..2881bb5f9 100644 --- a/misc/build.func +++ b/misc/build.func @@ -2514,7 +2514,7 @@ EOF' install_ssh_keys_into_ct # Run application installer - if ! lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/install/${var_install}.sh)"; then + if ! lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/install/${var_install}.sh)"; then exit $? fi } diff --git a/misc/install.func b/misc/install.func index f741b921d..71edf7ebf 100644 --- a/misc/install.func +++ b/misc/install.func @@ -9,8 +9,8 @@ if ! command -v curl >/dev/null 2>&1; then apt-get update >/dev/null 2>&1 apt-get install -y curl >/dev/null 2>&1 fi -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func) -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/error_handler.func) +source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/core.func) +source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/error_handler.func) load_functions catch_errors From 9ee64e97f1c68cf304dc35b2c24d48b094bebfed Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 26 Oct 2025 16:57:12 +0530 Subject: [PATCH 03/20] fix(ente): cli config.yml creation error --- install/ente-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index 22b4e1381..bcb490c33 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -59,7 +59,8 @@ export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF msg_ok "Exported Ente CLI paths" - +$STD mkdir -p ~/.ente +$STD touch ~/.ente/config.yaml cat <~/.ente/config.yaml endpoint: api: http://localhost:8080 From eb401a3e4277daaf00d66d23a43b00513d0d851e Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 26 Oct 2025 17:07:45 +0530 Subject: [PATCH 04/20] fix(ente): errors --- install/ente-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index bcb490c33..e885c676b 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -59,7 +59,6 @@ export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF msg_ok "Exported Ente CLI paths" -$STD mkdir -p ~/.ente $STD touch ~/.ente/config.yaml cat <~/.ente/config.yaml endpoint: From a4d5b5a21f5a890f241c06214766cbee0faed17e Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 26 Oct 2025 17:19:44 +0530 Subject: [PATCH 05/20] fix(ente): remove unexpected .ente txt file being created during installation --- install/ente-install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index e885c676b..3a6d157ac 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -59,7 +59,9 @@ export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF msg_ok "Exported Ente CLI paths" -$STD touch ~/.ente/config.yaml +# remove .ente txt file +$STD rm ~/.ente +$STD mkdir -p ~/.ente cat <~/.ente/config.yaml endpoint: api: http://localhost:8080 From 3489dfb8934c9f91e3d91fcc350422b13c724a82 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sat, 22 Nov 2025 22:04:50 +0530 Subject: [PATCH 06/20] chore: clean logs --- ct/ente.sh | 2 +- install/ente-install.sh | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/ct/ente.sh b/ct/ente.sh index 31d6858ae..126f673dd 100644 --- a/ct/ente.sh +++ b/ct/ente.sh @@ -39,4 +39,4 @@ build_container description msg_ok "Completed Successfully!" -msg_custom "🚀" "${GN}" "${APP} setup has been successfully initialized!" +msg_custom "🚀" "${GN}" "${APP} setup has been successfully initialized!\nIf you want to use the Ente CLI to add/whitelist admins, please follow the instructions at https://ente.io/help/self-hosting/administration/cli" diff --git a/install/ente-install.sh b/install/ente-install.sh index 3a6d157ac..7af4f173c 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -133,10 +133,10 @@ if [[ -z "$backend_url" ]]; then # Default to local IP if user doesn't provide one LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_BACKEND_URL="http://$LOCAL_IP:8080" - msg_info "No URL provided, using local IP: $ENTE_BACKEND_URL" + msg_info "No URL provided, using local IP: $ENTE_BACKEND_URL\n" else ENTE_BACKEND_URL="$backend_url" - msg_info "Using provided URL: $ENTE_BACKEND_URL" + msg_info "Using provided URL: $ENTE_BACKEND_URL\n" fi # Prompt for albums URL @@ -144,10 +144,10 @@ read -r -p "Enter the public URL for Ente albums (e.g., https://albums.ente.your if [[ -z "$albums_url" ]]; then LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_ALBUMS_URL="http://$LOCAL_IP:3002" - msg_info "No URL provided, using local IP: $ENTE_ALBUMS_URL" + msg_info "No URL provided, using local IP: $ENTE_ALBUMS_URL\n" else ENTE_ALBUMS_URL="$albums_url" - msg_info "Using provided URL: $ENTE_ALBUMS_URL" + msg_info "Using provided URL: $ENTE_ALBUMS_URL\n" fi export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL @@ -160,7 +160,7 @@ export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL EOF msg_ok "Saved to bashrc" -msg_info "Building Web Applications" +msg_info "Building Web Applications\n" cd /opt/ente/web $STD yarn install $STD yarn build @@ -229,5 +229,3 @@ msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" - -msg_info "If you want to use the Ente CLI, please follow the instructions at https://ente.io/help/self-hosting/administration/cli" From 9478807cc25f4069e71446955719c12db4b878dc Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sat, 22 Nov 2025 22:50:19 +0530 Subject: [PATCH 07/20] feat: add ente.json for FE --- frontend/public/json/ente.json | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 frontend/public/json/ente.json diff --git a/frontend/public/json/ente.json b/frontend/public/json/ente.json new file mode 100644 index 000000000..378d3e2db --- /dev/null +++ b/frontend/public/json/ente.json @@ -0,0 +1,44 @@ +{ + "name": "Ente", + "slug": "ente", + "categories": [ + 20 + ], + "date_created": "2025-11-22", + "type": "ct", + "updateable": false, + "privileged": false, + "config_path": "/opt", + "interface_port": 3000, + "documentation": "https://github.com/ente-io/ente", + "website": "https://ente.io/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ente-photos.svg", + "description": "Ente is a service that provides a fully open source, end-to-end encrypted platform for you to store your data in the cloud without needing to trust the service provider. On top of this platform, we have built two apps so far: Ente Photos (an alternative to Apple and Google Photos) and Ente Auth (a 2FA alternative to the deprecated Authy).", + "install_methods": [ + { + "type": "default", + "script": "ct/ente.sh", + "resources": { + "cpu": 4, + "ram": 4096, + "hdd": 10, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Please use `journalctl -u ente-museum.service -n 10` to read logs for the signup verification code", + "type": "info" + }, + { + "text": "To see Museium config: `cat /opt/ente/server/museum.yaml`", + "type": "info" + } + ] +} From b948cae78651fe26ebc4da873252dccf62aa6307 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:13:52 +0530 Subject: [PATCH 08/20] Revert "temp: update build.func to use forked install script" This reverts commit 54bf19ce9f7a7350badecd3118e81d04f45569ac. --- ct/ente.sh | 2 +- misc/build.func | 2 +- misc/install.func | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/ente.sh b/ct/ente.sh index 126f673dd..14aeae342 100644 --- a/ct/ente.sh +++ b/ct/ente.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE diff --git a/misc/build.func b/misc/build.func index 2881bb5f9..f8fcaa5fb 100644 --- a/misc/build.func +++ b/misc/build.func @@ -2514,7 +2514,7 @@ EOF' install_ssh_keys_into_ct # Run application installer - if ! lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/install/${var_install}.sh)"; then + if ! lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/install/${var_install}.sh)"; then exit $? fi } diff --git a/misc/install.func b/misc/install.func index 71edf7ebf..f741b921d 100644 --- a/misc/install.func +++ b/misc/install.func @@ -9,8 +9,8 @@ if ! command -v curl >/dev/null 2>&1; then apt-get update >/dev/null 2>&1 apt-get install -y curl >/dev/null 2>&1 fi -source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/core.func) -source <(curl -fsSL https://raw.githubusercontent.com/dramikei/ProxmoxVED/refs/heads/dramikei/ente-enhancement/misc/error_handler.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/error_handler.func) load_functions catch_errors From fb84ff1110c9b70592eadbea8b07f22960a4032d Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:35:07 +0530 Subject: [PATCH 09/20] fix: dont save NEXT vars in bashrc, add url prompt in rebuild script --- install/ente-install.sh | 45 ++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index bddfc1b31..c8e27bbcf 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -185,13 +185,6 @@ fi export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL -# save to bashrc -cat <>~/.bashrc -export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL -export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL -EOF -msg_ok "Saved to bashrc" - msg_info "Building Web Applications\n" cd /opt/ente/web $STD yarn install @@ -208,13 +201,36 @@ cp -r apps/cast/out /var/www/ente/apps/cast # Save build configuration for future rebuilds cat </opt/ente/rebuild-frontend.sh #!/usr/bin/env bash -# Rebuild Ente frontend with current IP -CONTAINER_IP=\$(hostname -I | awk '{print \$1}') -echo "Building frontend with IP: \$CONTAINER_IP" +# Rebuild Ente frontend +# Prompt for backend URL +read -r -p "Enter the public URL for Ente backend (e.g., https://api.ente.yourdomain.com or http://192.168.1.100:8080) leave empty to use container IP: " backend_url +if [[ -z "\$backend_url" ]]; then + # Default to local IP if user doesn't provide one + LOCAL_IP=$(hostname -I | awk '{print $1}') + ENTE_BACKEND_URL="http://\$LOCAL_IP:8080" + echo "No URL provided, using local IP: \$ENTE_BACKEND_URL\n" +else + ENTE_BACKEND_URL="\$backend_url" + echo "Using provided URL: \$ENTE_BACKEND_URL\n" +fi + +# Prompt for albums URL +read -r -p "Enter the public URL for Ente albums (e.g., https://albums.ente.yourdomain.com or http://192.168.1.100:3002) leave empty to use container IP: " albums_url +if [[ -z "\$albums_url" ]]; then + LOCAL_IP=\$(hostname -I | awk '{print $1}') + ENTE_ALBUMS_URL="http://\$LOCAL_IP:3002" + echo "No URL provided, using local IP: \$ENTE_ALBUMS_URL\n" +else + ENTE_ALBUMS_URL="\$albums_url" + echo "Using provided URL: \$ENTE_ALBUMS_URL\n" +fi + +export NEXT_PUBLIC_ENTE_ENDPOINT=\$ENTE_BACKEND_URL +export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=\$ENTE_ALBUMS_URL + +echo "Building Web Applications\n" + cd /opt/ente/web -export -=http://\${CONTAINER_IP}:8080 -export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=http://\${CONTAINER_IP}:3002 yarn build yarn build:accounts yarn build:auth @@ -368,8 +384,9 @@ echo -e "━━━━━━━━━━━━━━━━━━━━━━━ echo -e "\n${BL}Access URLs:${CL}" echo -e " Photos: http://${CONTAINER_IP}:3000" echo -e " Accounts: http://${CONTAINER_IP}:3001" +echo -e " Albums: ${ENTE_ALBUMS_URL}" echo -e " Auth: http://${CONTAINER_IP}:3003" -echo -e " API: http://${CONTAINER_IP}:8080" +echo -e " API: ${ENTE_BACKEND_URL}" echo -e "\n${YW}⚠️ Important Post-Installation Steps:${CL}" echo -e "\n${BL}1. Create your first account:${CL}" echo -e " • Open http://${CONTAINER_IP}:3000 in your browser" From 92c827ed9a9a9bd0513da35c76a40bb00b663dbf Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:39:42 +0530 Subject: [PATCH 10/20] feat: move add/whitelist admins message to website --- ct/ente.sh | 2 +- frontend/public/json/ente.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ct/ente.sh b/ct/ente.sh index 14aeae342..5733886ca 100644 --- a/ct/ente.sh +++ b/ct/ente.sh @@ -39,4 +39,4 @@ build_container description msg_ok "Completed Successfully!" -msg_custom "🚀" "${GN}" "${APP} setup has been successfully initialized!\nIf you want to use the Ente CLI to add/whitelist admins, please follow the instructions at https://ente.io/help/self-hosting/administration/cli" +msg_custom "🚀" "${GN}" "${APP} setup has been successfully initialized!" diff --git a/frontend/public/json/ente.json b/frontend/public/json/ente.json index 378d3e2db..794580914 100644 --- a/frontend/public/json/ente.json +++ b/frontend/public/json/ente.json @@ -36,6 +36,10 @@ "text": "Please use `journalctl -u ente-museum.service -n 10` to read logs for the signup verification code", "type": "info" }, + { + "text": "If you want to use the Ente CLI to add/whitelist admins, please follow the instructions at https://ente.io/help/self-hosting/administration/cli", + "type": "info" + }, { "text": "To see Museium config: `cat /opt/ente/server/museum.yaml`", "type": "info" From 4509406b0c623c0dc0f238ba8a2a14e5b847e304 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:45:07 +0530 Subject: [PATCH 11/20] fix: each msg_info must have msg_ok --- install/ente-install.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index c8e27bbcf..b1f2cb8ab 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -80,16 +80,12 @@ cat <>~/.bashrc export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF -msg_ok "Exported Ente CLI paths" -# remove .ente txt file $STD rm ~/.ente $STD mkdir -p ~/.ente cat <~/.ente/config.yaml endpoint: api: http://localhost:8080 EOF -msg_ok "Created Ente CLI config.yaml" - msg_ok "Configured Ente CLI" msg_info "Building Museum (server)" @@ -165,10 +161,12 @@ if [[ -z "$backend_url" ]]; then # Default to local IP if user doesn't provide one LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_BACKEND_URL="http://$LOCAL_IP:8080" - msg_info "No URL provided, using local IP: $ENTE_BACKEND_URL\n" + msg_info "No URL provided" + msg_ok "using local IP: $ENTE_BACKEND_URL\n" else ENTE_BACKEND_URL="$backend_url" - msg_info "Using provided URL: $ENTE_BACKEND_URL\n" + msg_info "URL provided" + msg_ok "Using provided URL: $ENTE_BACKEND_URL\n" fi # Prompt for albums URL @@ -176,10 +174,12 @@ read -r -p "Enter the public URL for Ente albums (e.g., https://albums.ente.your if [[ -z "$albums_url" ]]; then LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_ALBUMS_URL="http://$LOCAL_IP:3002" - msg_info "No URL provided, using local IP: $ENTE_ALBUMS_URL\n" + msg_info "No URL provided" + msg_ok "using local IP: $ENTE_ALBUMS_URL\n" else ENTE_ALBUMS_URL="$albums_url" - msg_info "Using provided URL: $ENTE_ALBUMS_URL\n" + msg_info "URL provided" + msg_ok "Using provided URL: $ENTE_ALBUMS_URL\n" fi export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL From 755b17d5ec17672148fc26e4081144ae2ec92f2e Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:47:48 +0530 Subject: [PATCH 12/20] chore: rm comments --- install/ente-install.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index b1f2cb8ab..e64c7ee63 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -66,7 +66,6 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" } >>~/ente.creds msg_ok "Set up PostgreSQL" -# Download Ente cli msg_info "Downloading Ente CLI" $STD mkdir -p /opt/ente/cli/dist fetch_and_deploy_gh_release "ente" "ente-io/ente" "prebuild" "cli-v0.2.3" "/opt/ente/cli/dist" "ente-cli-v0.2.3-linux-amd64.tar.gz" @@ -155,10 +154,8 @@ jwt: EOF msg_ok "Created museum.yaml" -# Prompt for backend URL read -r -p "Enter the public URL for Ente backend (e.g., https://api.ente.yourdomain.com or http://192.168.1.100:8080) leave empty to use container IP: " backend_url if [[ -z "$backend_url" ]]; then - # Default to local IP if user doesn't provide one LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_BACKEND_URL="http://$LOCAL_IP:8080" msg_info "No URL provided" @@ -169,7 +166,6 @@ else msg_ok "Using provided URL: $ENTE_BACKEND_URL\n" fi -# Prompt for albums URL read -r -p "Enter the public URL for Ente albums (e.g., https://albums.ente.yourdomain.com or http://192.168.1.100:3002) leave empty to use container IP: " albums_url if [[ -z "$albums_url" ]]; then LOCAL_IP=$(hostname -I | awk '{print $1}') @@ -205,7 +201,6 @@ cat </opt/ente/rebuild-frontend.sh # Prompt for backend URL read -r -p "Enter the public URL for Ente backend (e.g., https://api.ente.yourdomain.com or http://192.168.1.100:8080) leave empty to use container IP: " backend_url if [[ -z "\$backend_url" ]]; then - # Default to local IP if user doesn't provide one LOCAL_IP=$(hostname -I | awk '{print $1}') ENTE_BACKEND_URL="http://\$LOCAL_IP:8080" echo "No URL provided, using local IP: \$ENTE_BACKEND_URL\n" From d0846b5c3bfb6732e9a8b65ed453a92795b6c7b8 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 18:52:27 +0530 Subject: [PATCH 13/20] fix: source bashrc after writing to it instead of exporting again in shell --- install/ente-install.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index e64c7ee63..d26c9dd6e 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -73,12 +73,11 @@ $STD chmod +x /opt/ente/cli/dist/ente msg_ok "Downloaded Ente CLI" msg_info "Configuring Ente CLI" -$STD export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt -$STD export PATH="/opt/ente/cli/dist:$PATH" cat <>~/.bashrc export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF +$STD source ~/.bashrc $STD rm ~/.ente $STD mkdir -p ~/.ente cat <~/.ente/config.yaml From bf38c3b91913ba767c3fe8198614fd0632de5981 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 19:00:35 +0530 Subject: [PATCH 14/20] fix: rename ente cli appName and dont delete the versioning file --- install/ente-install.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index d26c9dd6e..76750de1b 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -68,7 +68,7 @@ msg_ok "Set up PostgreSQL" msg_info "Downloading Ente CLI" $STD mkdir -p /opt/ente/cli/dist -fetch_and_deploy_gh_release "ente" "ente-io/ente" "prebuild" "cli-v0.2.3" "/opt/ente/cli/dist" "ente-cli-v0.2.3-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "cli-v0.2.3" "/opt/ente/cli/dist" "ente-cli-v0.2.3-linux-amd64.tar.gz" $STD chmod +x /opt/ente/cli/dist/ente msg_ok "Downloaded Ente CLI" @@ -78,7 +78,6 @@ export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt export PATH="/opt/ente/cli/dist:$PATH" EOF $STD source ~/.bashrc -$STD rm ~/.ente $STD mkdir -p ~/.ente cat <~/.ente/config.yaml endpoint: From 8a0f2cdeaf8cb6b501c2f14eb3000dffdd47fc87 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 19:20:55 +0530 Subject: [PATCH 15/20] fix: ente-cli installation --- install/ente-install.sh | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index 76750de1b..ef1d08581 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -28,8 +28,21 @@ PG_VERSION="17" setup_postgresql setup_go NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs ENTE_CLI_VERSION=$(curl -s https://api.github.com/repos/ente-io/ente/releases | jq -r '[.[] | select(.tag_name | startswith("cli-v"))][0].tag_name') -fetch_and_deploy_gh_release "ente" "ente-io/ente" "tarball" "latest" "/opt/ente" -fetch_and_deploy_gh_release "ente" "ente-io/ente" "tarball" "$ENTE_CLI_VERSION" "/usr/local/bin/ente" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ente-server" "ente-io/ente" "tarball" "latest" "/opt/ente" +fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "tarball" "$ENTE_CLI_VERSION" "/usr/local/bin/ente" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" + +$STD mkdir -p /opt/ente/cli +msg_info "Configuring Ente CLI" +cat <>~/.bashrc +export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/secrets.txt +EOF +$STD source ~/.bashrc +$STD mkdir -p ~/.ente +cat <~/.ente/config.yaml +endpoint: + api: http://localhost:8080 +EOF +msg_ok "Configured Ente CLI" msg_info "Setting up PostgreSQL" DB_NAME="ente_db" @@ -66,25 +79,6 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" } >>~/ente.creds msg_ok "Set up PostgreSQL" -msg_info "Downloading Ente CLI" -$STD mkdir -p /opt/ente/cli/dist -fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "cli-v0.2.3" "/opt/ente/cli/dist" "ente-cli-v0.2.3-linux-amd64.tar.gz" -$STD chmod +x /opt/ente/cli/dist/ente -msg_ok "Downloaded Ente CLI" - -msg_info "Configuring Ente CLI" -cat <>~/.bashrc -export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/dist/secrets.txt -export PATH="/opt/ente/cli/dist:$PATH" -EOF -$STD source ~/.bashrc -$STD mkdir -p ~/.ente -cat <~/.ente/config.yaml -endpoint: - api: http://localhost:8080 -EOF -msg_ok "Configured Ente CLI" - msg_info "Building Museum (server)" cd /opt/ente/server $STD corepack enable From 42fbb303d065b5900d62c8d0ba9653a0f04f3b4c Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 19:30:14 +0530 Subject: [PATCH 16/20] fix: log --- install/ente-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index ef1d08581..e30856389 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -173,7 +173,7 @@ fi export NEXT_PUBLIC_ENTE_ENDPOINT=$ENTE_BACKEND_URL export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL -msg_info "Building Web Applications\n" +msg_info "Building Web Applications" cd /opt/ente/web $STD yarn install $STD yarn build From 5ebb77750ac15a9cff040610ddca637fd84e74a7 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 20:35:39 +0530 Subject: [PATCH 17/20] fix: cli install --- install/ente-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index e30856389..f75bbedff 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -29,7 +29,7 @@ setup_go NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs ENTE_CLI_VERSION=$(curl -s https://api.github.com/repos/ente-io/ente/releases | jq -r '[.[] | select(.tag_name | startswith("cli-v"))][0].tag_name') fetch_and_deploy_gh_release "ente-server" "ente-io/ente" "tarball" "latest" "/opt/ente" -fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "tarball" "$ENTE_CLI_VERSION" "/usr/local/bin/ente" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "$ENTE_CLI_VERSION" "/usr/local/bin/ente" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" $STD mkdir -p /opt/ente/cli msg_info "Configuring Ente CLI" From 2a523605854a1bae5da4ee82b1d01e5bb5d4677d Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 21:21:09 +0530 Subject: [PATCH 18/20] feat: export binaries and scripts in /usr/local/bin --- install/ente-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index f75bbedff..a52ca8eca 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -29,12 +29,13 @@ setup_go NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs ENTE_CLI_VERSION=$(curl -s https://api.github.com/repos/ente-io/ente/releases | jq -r '[.[] | select(.tag_name | startswith("cli-v"))][0].tag_name') fetch_and_deploy_gh_release "ente-server" "ente-io/ente" "tarball" "latest" "/opt/ente" -fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "$ENTE_CLI_VERSION" "/usr/local/bin/ente" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "$ENTE_CLI_VERSION" "/usr/local/bin" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" $STD mkdir -p /opt/ente/cli msg_info "Configuring Ente CLI" cat <>~/.bashrc export ENTE_CLI_SECRETS_PATH=/opt/ente/cli/secrets.txt +export PATH="/usr/local/bin:$PATH" EOF $STD source ~/.bashrc $STD mkdir -p ~/.ente From 7f2bcf85434eda11e9033297fffe55e680f6e960 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 21:32:46 +0530 Subject: [PATCH 19/20] fix: ente cli installation (again) --- install/ente-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/ente-install.sh b/install/ente-install.sh index a52ca8eca..f2edeb064 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -29,7 +29,7 @@ setup_go NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs ENTE_CLI_VERSION=$(curl -s https://api.github.com/repos/ente-io/ente/releases | jq -r '[.[] | select(.tag_name | startswith("cli-v"))][0].tag_name') fetch_and_deploy_gh_release "ente-server" "ente-io/ente" "tarball" "latest" "/opt/ente" -fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "$ENTE_CLI_VERSION" "/usr/local/bin" "ente-cli-$ENTE_CLI_VERSION-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ente-cli" "ente-io/ente" "prebuild" "$ENTE_CLI_VERSION" "/usr/local/bin" "ente-$ENTE_CLI_VERSION-linux-amd64.tar.gz" $STD mkdir -p /opt/ente/cli msg_info "Configuring Ente CLI" From 8e8e14dbd005a6ca2b4cf4d8ab63cfef286f6a13 Mon Sep 17 00:00:00 2001 From: Raghav Vashisht Date: Sun, 23 Nov 2025 21:24:40 +0530 Subject: [PATCH 20/20] feat: suppress corepack download prompt --- install/ente-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/ente-install.sh b/install/ente-install.sh index f2edeb064..9a4fbdee6 100644 --- a/install/ente-install.sh +++ b/install/ente-install.sh @@ -176,6 +176,7 @@ export NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=$ENTE_ALBUMS_URL msg_info "Building Web Applications" cd /opt/ente/web +export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 $STD yarn install $STD yarn build $STD yarn build:accounts