Files
vaultwarden-debian/vaultwarden-builder.sh
T

75 lines
2.1 KiB
Bash

#!/bin/bash
set -e
# Configuration
DEBIAN_VERSIONS=("bullseye" "bookworm")
ARCH=$(dpkg --print-architecture)
REPO_URL="https://github.com/nisenbeck/vaultwarden-debian.git"
REPO_DIR="vaultwarden-debian"
HTTP_PORT=80
# Functions for colored output
log_info() {
echo -e "\033[0;36m[INFO]\033[0m $1"
}
log_success() {
echo -e "\033[0;32m[SUCCESS]\033[0m $1"
}
log_error() {
echo -e "\033[0;31m[ERROR]\033[0m $1"
}
# Install dependencies
log_info "Installing dependencies..."
apt-get update
apt-get install -y git curl gnupg ca-certificates apparmor build-essential patch psmisc python3
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=\"$(dpkg --print-architecture)\" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
\"$(. /etc/os-release && echo "$VERSION_CODENAME")\" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
log_success "Dependencies installed"
# Clone or update repository
if [ -d "$REPO_DIR" ]; then
log_info "Repository already exists, updating..."
cd "$REPO_DIR"
git pull
else
log_info "Cloning repository..."
git clone "$REPO_URL"
cd "$REPO_DIR"
fi
log_success "Repository ready"
# Run builds
log_info "Starting builds for architecture: $ARCH"
for VERSION in "${DEBIAN_VERSIONS[@]}"; do
log_info "Building for $VERSION..."
./build.sh -a "$ARCH" -o "$VERSION"
log_success "Build for $VERSION completed"
done
# Check if dist directory exists
if [ ! -d "dist" ]; then
log_error "dist directory was not created!"
exit 1
fi
# Start HTTP server
log_success "All builds completed!"
log_info "Starting HTTP server on port $HTTP_PORT..."
# Get public IP
PUBLIC_IP=$(curl -s https://checkip.amazonaws.com)
log_info "Packages available at: http://$PUBLIC_IP:$HTTP_PORT"
echo ""
log_info "Press Ctrl+C to stop"
python3 -m http.server --directory dist $HTTP_PORT