Add wishlist app
This commit is contained in:
parent
3f490abff1
commit
f948688dda
6
ct/headers/wishlist
Normal file
6
ct/headers/wishlist
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
_ ___ __ ___ __
|
||||||
|
| | / (_)____/ /_ / (_)____/ /_
|
||||||
|
| | /| / / / ___/ __ \/ / / ___/ __/
|
||||||
|
| |/ |/ / (__ ) / / / / (__ ) /_
|
||||||
|
|__/|__/_/____/_/ /_/_/_/____/\__/
|
||||||
|
|
||||||
78
ct/wishlist.sh
Normal file
78
ct/wishlist.sh
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 tteck
|
||||||
|
# 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
|
||||||
|
|
||||||
|
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
|
||||||
|
if check_for_gh_release "wishlist" "cmintey/wishlist"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop wishlist
|
||||||
|
msg_ok "Service Stopped"
|
||||||
|
|
||||||
|
cp /opt/wishlist/.env /opt/
|
||||||
|
cp -R /opt/wishlist/uploads /opt/
|
||||||
|
cp -R /opt/wishlist/data /opt/
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wishlist" "cmintey/wishlist" "tarball"
|
||||||
|
LATEST_APP_VERSION=$(get_latest_github_release "cmintey/wishlist")
|
||||||
|
|
||||||
|
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
|
cd /opt/wishlist || exit
|
||||||
|
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm svelte-kit sync
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
$STD 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
|
||||||
|
$STD chmod +x /opt/wishlist/entrypoint.sh
|
||||||
|
|
||||||
|
mv /opt/.env /opt/wishlist/.env
|
||||||
|
mv /opt/uploads /opt/wishlist/uploads
|
||||||
|
mv /opt/data /opt/wishlist/data
|
||||||
|
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
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": null,
|
||||||
|
"config_path": "/opt/wishlist/.env",
|
||||||
|
"website": "https://github.com/cmintey/wishlist",
|
||||||
|
"logo": "https://github.com/cmintey/wishlist/blob/main/static/android-chrome-512x512.png?raw=true",
|
||||||
|
"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": []
|
||||||
|
}
|
||||||
68
install/wishlist-install.sh
Normal file
68
install/wishlist-install.sh
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 tteck
|
||||||
|
# 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 git 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")
|
||||||
|
|
||||||
|
msg_info "Installing Wishlist"
|
||||||
|
cd /opt/wishlist || exit
|
||||||
|
cat <<EOF >/opt/wishlist/.env
|
||||||
|
NODE_ENV=production
|
||||||
|
BODY_SIZE_LIMIT=5000000
|
||||||
|
ORIGIN="http://0.0.0.0:3280" # The URL your users will be connecting to
|
||||||
|
TOKEN_TIME=72 # hours until signup and password reset tokens expire
|
||||||
|
DEFAULT_CURRENCY=EUR
|
||||||
|
MAX_IMAGE_SIZE=5000000 # 5 megabytes
|
||||||
|
EOF
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm svelte-kit sync
|
||||||
|
$STD pnpm prisma generate
|
||||||
|
$STD 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
|
||||||
|
$STD chmod +x /opt/wishlist/entrypoint.sh
|
||||||
|
msg_ok "Installed Wishlist"
|
||||||
|
|
||||||
|
mkdir -p /opt/wishlist/uploads
|
||||||
|
mkdir -p /opt/wishlist/data
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/wishlist.service
|
||||||
|
[Unit]
|
||||||
|
Description=Wishlist Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/wishlist
|
||||||
|
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
|
||||||
|
echo "Edit /opt/wishlist/.env to customize settings"
|
||||||
Loading…
x
Reference in New Issue
Block a user