feat: prevent reinstall and upragde if available

This commit is contained in:
Julien Oculi 2024-05-30 13:10:20 +02:00
parent 1215d25186
commit cf1191bdc3
3 changed files with 53 additions and 41 deletions

View file

@ -1,9 +1,12 @@
# Install prerequistes
nala install -y debian-keyring debian-archive-keyring apt-transport-https curl
# Check if already installed
if [[ $(which caddy) != "/usr/bin/caddy" ]]; then
# Install prerequistes
nala install -y debian-keyring debian-archive-keyring apt-transport-https curl
# Install sources and keys
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
# Install sources and keys
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
fi
# Install caddy
# Install or upgrade caddy
nala install -y caddy

View file

@ -1,28 +1,31 @@
# Get latest forgejo tag
LATEST=curl -fsS https://codeberg.org/forgejo/forgejo/releases/latest | grep -o "[0-9].[0-9].[0-9]"
LATEST=curl -fsS https://codeberg.org/forgejo/forgejo/releases/latest | grep -o "[0-9].[0-9].[0-9]" | head -1
# Download forgejo
wget "https://codeberg.org/forgejo/forgejo/releases/download/$LATEST/forgejo-$LATEST-linux-amd64"
chmod +x "forgejo-$LATEST-linux-amd64"
# Check if already installed
if [[ $(forgejo -v 2> /dev/null | grep -o "[0-9].[0-9].[0-9]" | head -1) != $LATEST ]]; then
# Download forgejo
wget "https://codeberg.org/forgejo/forgejo/releases/download/$LATEST/forgejo-$LATEST-linux-amd64"
chmod +x "forgejo-$LATEST-linux-amd64"
# Check GPG Keys
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget "https://codeberg.org/forgejo/forgejo/releases/download/v$LATEST/forgejo-$LATEST-linux-amd64.asc"
gpg --verify "forgejo-$LATEST-linux-amd64.asc" "forgejo-$LATEST-linux-amd64"
# Check GPG Keys
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget "https://codeberg.org/forgejo/forgejo/releases/download/v$LATEST/forgejo-$LATEST-linux-amd64.asc"
gpg --verify "forgejo-$LATEST-linux-amd64.asc" "forgejo-$LATEST-linux-amd64"
# Create group and user
groupadd --system forgejo
# Create group and user
groupadd --system forgejo
useradd --system \
--gid forgejo
--create-home \
--home-dir /var/lib/forgejo \
--shell /usr/sbin/nologin \
--comment "Forgejo Git forge" \
forgejo
useradd --system \
--gid forgejo
--create-home \
--home-dir /var/lib/forgejo \
--shell /usr/sbin/nologin \
--comment "Forgejo Git forge" \
forgejo
# Setup forgejo directories
mv "forgejo-$LATEST-linux-amd64" /usr/local/bin/forgejo
# Setup forgejo directories
mv "forgejo-$LATEST-linux-amd64" /usr/local/bin/forgejo
fi
## Working directory
mkdir /var/lib/forgejo

View file

@ -1,16 +1,22 @@
# Install deno
curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh
# Check if already installed
if [[ $(which deno) == "/usr/local/bin/deno" ]]; then
# Upgrade deno
deno upgrade
else
# Install deno
curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh
# Create group and user
groupadd --system deno
# Create group and user
groupadd --system deno
useradd --system \
--gid deno \
--create-home \
--home-dir /var/lib/deno \
--shell /usr/sbin/nologin \
--comment "Deno js engine" \
deno
useradd --system \
--gid deno \
--create-home \
--home-dir /var/lib/deno \
--shell /usr/sbin/nologin \
--comment "Deno js engine" \
deno
fi
# Clone website repo
mkdir -p /srv/www