Merge pull request #1242 from Dunky13/feature/wishlist
Add wishlist app
This commit is contained in:
commit
3aa45d7e2b
76
ct/wishlist.sh
Normal file
76
ct/wishlist.sh
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Dunky13
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/cmintey/wishlist
|
||||||
|
|
||||||
|
APP="Wishlist"
|
||||||
|
var_tags="${var_tags:-sharing}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/wishlist ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "wishlist" "cmintey/wishlist"; then
|
||||||
|
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop wishlist
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
mkdir -p /opt/wishlist-backup
|
||||||
|
cp /opt/wishlist/.env /opt/wishlist-backup/.env
|
||||||
|
cp -R /opt/wishlist/uploads /opt/wishlist-backup/uploads
|
||||||
|
cp -R /opt/wishlist/data /opt/wishlist-backup/data
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wishlist" "cmintey/wishlist" "tarball"
|
||||||
|
LATEST_APP_VERSION=$(get_latest_github_release "cmintey/wishlist" false)
|
||||||
|
|
||||||
|
msg_info "Updating Wishlist"
|
||||||
|
cd /opt/wishlist
|
||||||
|
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm svelte-kit sync
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
sed -i 's|/usr/src/app/|/opt/wishlist/|g' $(grep -rl '/usr/src/app/' /opt/wishlist)
|
||||||
|
export VERSION="${LATEST_APP_VERSION}"
|
||||||
|
export SHA="${LATEST_APP_VERSION}"
|
||||||
|
$STD pnpm run build
|
||||||
|
$STD pnpm prune --prod
|
||||||
|
chmod +x /opt/wishlist/entrypoint.sh
|
||||||
|
cp /opt/wishlist-backup/.env /opt/wishlist/.env
|
||||||
|
cp -R /opt/wishlist-backup/uploads /opt/wishlist/uploads
|
||||||
|
cp -R /opt/wishlist-backup/data /opt/wishlist/data
|
||||||
|
msg_ok "Updated Wishlist"
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start wishlist
|
||||||
|
msg_ok "Started Service"
|
||||||
|
msg_ok "Updated successfully!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3280${CL}"
|
||||||
33
frontend/public/json/wishlist.json
Normal file
33
frontend/public/json/wishlist.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "Wishlist",
|
||||||
|
"slug": "wishlist",
|
||||||
|
"categories": [0],
|
||||||
|
"date_created": "2025-12-29",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 3280,
|
||||||
|
"documentation": "https://github.com/cmintey/wishlist/blob/main/README.md#getting-started",
|
||||||
|
"config_path": "/opt/wishlist/.env",
|
||||||
|
"website": "https://github.com/cmintey/wishlist",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cmintey-wishlist.webp",
|
||||||
|
"description": "Wishlist is a self-hosted wishlist application that you can share with your friends and family. You no longer have to wonder what to get your family for the holidays, simply check their wishlist and claim any available item!",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/wishlist.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 5,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
65
install/wishlist-install.sh
Normal file
65
install/wishlist-install.sh
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Dunky13
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/cmintey/wishlist
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing dependencies"
|
||||||
|
$STD apt install -y \
|
||||||
|
build-essential \
|
||||||
|
python3 \
|
||||||
|
openssl \
|
||||||
|
caddy
|
||||||
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
fetch_and_deploy_gh_release "wishlist" "cmintey/wishlist" "tarball"
|
||||||
|
LATEST_APP_VERSION=$(get_latest_github_release "cmintey/wishlist" false)
|
||||||
|
|
||||||
|
msg_info "Installing Wishlist"
|
||||||
|
cd /opt/wishlist
|
||||||
|
cp .env.example .env
|
||||||
|
echo "NODE_ENV=production" >> /opt/wishlist/.env
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm svelte-kit sync
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
sed -i 's|/usr/src/app/|/opt/wishlist/|g' $(grep -rl '/usr/src/app/' /opt/wishlist)
|
||||||
|
export VERSION="v${LATEST_APP_VERSION}"
|
||||||
|
export SHA="v${LATEST_APP_VERSION}"
|
||||||
|
$STD pnpm run build
|
||||||
|
$STD pnpm prune --prod
|
||||||
|
chmod +x /opt/wishlist/entrypoint.sh
|
||||||
|
mkdir -p /opt/wishlist/uploads
|
||||||
|
mkdir -p /opt/wishlist/data
|
||||||
|
msg_ok "Installed Wishlist"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/wishlist.service
|
||||||
|
[Unit]
|
||||||
|
Description=Wishlist Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/wishlist
|
||||||
|
EnvironmentFile=/opt/wishlist/.env
|
||||||
|
ExecStart=/usr/bin/env sh -c './entrypoint.sh'
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now wishlist
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
Loading…
x
Reference in New Issue
Block a user