Compare commits
No commits in common. "1784a1c606200a74d1771a7ed07455c7abda6318" and "b327249d7db982d86601674f6c51fbc7dd824aba" have entirely different histories.
1784a1c606
...
b327249d7d
112
install.sh
112
install.sh
|
|
@ -1,92 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
#############################
|
||||
# CONFIG
|
||||
#############################
|
||||
|
||||
# Run this script from /home/Dejan/Docker
|
||||
# It will create /home/Dejan/Docker/Vaultwarden
|
||||
BASE_DIR="$(pwd)/Vaultwarden"
|
||||
DOMAIN_DEFAULT="https://vaultwarden.rozic-dev.com"
|
||||
TZ_DEFAULT="Europe/Ljubljana"
|
||||
|
||||
#############################
|
||||
# FUNCTIONS
|
||||
#############################
|
||||
|
||||
choose_docker_compose_cmd() {
|
||||
if command -v docker &>/dev/null && docker compose version &>/dev/null; then
|
||||
echo "docker compose"
|
||||
elif command -v docker-compose &>/dev/null; then
|
||||
echo "docker-compose"
|
||||
else
|
||||
echo "Error: docker compose or docker-compose not found in PATH." >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
generate_admin_token() {
|
||||
if command -v openssl &>/dev/null; then
|
||||
openssl rand -hex 32
|
||||
else
|
||||
# Fallback if openssl isn’t available
|
||||
tr -dc 'A-Za-z0-9' </dev/urandom | head -c 64
|
||||
fi
|
||||
}
|
||||
|
||||
#############################
|
||||
# MAIN
|
||||
#############################
|
||||
|
||||
# Optional safety: ensure we’re in /home/Dejan/Docker
|
||||
if [[ "$(pwd)" != "/home/Dejan/Docker" ]]; then
|
||||
echo "Please run this script from /home/Dejan/Docker"
|
||||
echo "Current directory: $(pwd)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ">>> Creating Vaultwarden directory at: ${BASE_DIR}"
|
||||
mkdir -p "${BASE_DIR}"
|
||||
cd "${BASE_DIR}"
|
||||
|
||||
#############################
|
||||
# .env FILE
|
||||
#############################
|
||||
|
||||
if [[ -f .env ]]; then
|
||||
echo ">>> .env already exists, reusing existing values."
|
||||
# shellcheck disable=SC1091
|
||||
source .env
|
||||
: "${ADMIN_TOKEN:?ADMIN_TOKEN must be set in .env}"
|
||||
: "${DOMAIN:?DOMAIN must be set in .env}"
|
||||
: "${TZ:?TZ must be set in .env}"
|
||||
else
|
||||
echo ">>> Creating .env file..."
|
||||
|
||||
ADMIN_TOKEN=$(generate_admin_token)
|
||||
DOMAIN="${DOMAIN_DEFAULT}"
|
||||
TZ="${TZ_DEFAULT}"
|
||||
|
||||
cat > .env <<EOF
|
||||
ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||
DOMAIN=${DOMAIN}
|
||||
TZ=${TZ}
|
||||
EOF
|
||||
|
||||
echo ">>> .env created."
|
||||
echo " ADMIN_TOKEN (keep this secret!): ${ADMIN_TOKEN}"
|
||||
echo " DOMAIN: ${DOMAIN}"
|
||||
echo " TZ: ${TZ}"
|
||||
fi
|
||||
|
||||
#############################
|
||||
# docker-compose.yml
|
||||
#############################
|
||||
|
||||
echo ">>> Writing docker-compose.yml..."
|
||||
|
||||
cat > docker-compose.yml <<'EOF'
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
|
|
@ -136,26 +47,3 @@ services:
|
|||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
EOF
|
||||
|
||||
echo ">>> docker-compose.yml created."
|
||||
|
||||
#############################
|
||||
# START CONTAINER
|
||||
#############################
|
||||
|
||||
DC_CMD=$(choose_docker_compose_cmd)
|
||||
echo ">>> Using Docker command: ${DC_CMD}"
|
||||
|
||||
echo ">>> Pulling images..."
|
||||
${DC_CMD} pull
|
||||
|
||||
echo ">>> Starting Vaultwarden..."
|
||||
${DC_CMD} up -d
|
||||
|
||||
echo ">>> Done!"
|
||||
echo "Vaultwarden should be available at: ${DOMAIN}"
|
||||
echo "Admin interface: ${DOMAIN}/admin"
|
||||
echo "Admin token (from .env): ${ADMIN_TOKEN}"
|
||||
echo "Data dir: ${BASE_DIR}/vw-data"
|
||||
echo "Don't forget to backup ${BASE_DIR}/vw-data and ${BASE_DIR}/.env regularly."
|
||||
|
|
|
|||
Loading…
Reference in a new issue