debian package
This commit is contained in:
1 parent
cb87af4f3b
commit
166182f3d4
8 files changed
+160
-6
No files matched your search
@@ -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
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
purge)
|
||||
rm -rf /etc/party
|
||||
userdel party 2>/dev/null || true
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
systemctl stop party.service || true
|
||||
systemctl disable party.service || true
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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."
|
||||
Reference in new issue
Block a user