debian package

This commit is contained in:
vfs committed 2026-05-10 13:40:25 +02:00
1 parent cb87af4f3b
commit 166182f3d4
8 files changed
+160 -6

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
set -e
if ! id -u party >/dev/null 2>&1; then
useradd --system --no-create-home --shell /bin/false party
fi
chown -R party:party /usr/share/party
if [ ! -f /etc/party/environment ]; then
mkdir -p /etc/party
cat > /etc/party/environment <<'EOF'
PARTY_DB_DSN=postgres://party:secret@localhost/party?sslmode=disable
APNS_KEY_PATH=
APNS_KEY_ID=
APNS_TEAM_ID=
APNS_BUNDLE_ID=
EOF
chmod 640 /etc/party/environment
chown root:party /etc/party/environment
echo "NOTE: Edit /etc/party/environment before the service can start."
fi
systemctl daemon-reload
systemctl enable party.service
systemctl restart party.service
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
set -e
case "$1" in
purge)
rm -rf /etc/party
userdel party 2>/dev/null || true
;;
esac
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
set -e
systemctl stop party.service || true
systemctl disable party.service || true
+15
View File
@@ -0,0 +1,15 @@
[Unit]
Description=Party API server
After=network.target
[Service]
Type=simple
User=party
WorkingDirectory=/usr/share/party
EnvironmentFile=/etc/party/environment
ExecStart=/usr/bin/party
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
set -euo pipefail
MIGRATE_VERSION=v4.18.1
REPO_URL=https://github.com/vicenteferrarismith/party # TODO: set your repo URL
apt-get update -q
apt-get install -y -q git golang-go
# Install golang-migrate (not in Debian repos)
if ! command -v migrate &>/dev/null; then
echo "Installing migrate ${MIGRATE_VERSION}..."
wget -qO /tmp/migrate.tar.gz \
"https://github.com/golang-migrate/migrate/releases/download/${MIGRATE_VERSION}/migrate.linux-amd64.tar.gz"
tar -xzf /tmp/migrate.tar.gz -C /usr/local/bin migrate
chmod +x /usr/local/bin/migrate
rm /tmp/migrate.tar.gz
fi
# Clone repo
if [ ! -d /srv/party ]; then
git clone "$REPO_URL" /srv/party
fi
echo ""
echo "Setup complete. Next steps:"
echo " 1. make deploy/migrate"
echo " 2. Edit /etc/party/environment with your DB DSN and secrets"
echo " 3. systemctl restart party"
+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash
set -euo pipefail
# Purge the installed package — removes binary, web assets, /etc/party, and the party user
if dpkg -s party &>/dev/null 2>&1; then
dpkg --purge party
fi
# Remove cloned repo
rm -rf /srv/party
# Remove migrate
rm -f /usr/local/bin/migrate
# Remove Go
apt-get remove -y golang-go
apt-get autoremove -y
echo "Teardown complete."