#!/bin/bash install_path=$(pwd) nextcloud_path=/opt/docker/nextcloud npm_path=/opt/docker/npm # Prepare OS for installation echo echo "----------------------------------------------" echo " Ten skrypt przeznaczony jest dla systemów " echo " Ubuntu 22.04 LTS" echo "----------------------------------------------" # Check requirements echo echo "----------------------------------------------" echo " Sprawdzam wymagania systemowe... " echo "----------------------------------------------" check_system() { if [ -f /etc/os-release ]; then . /etc/os-release if [ "$NAME" = "Ubuntu" ] && [ "$VERSION_ID" = "22.04" ]; then else echo "BŁĄD: Skrypt wspiera jedynie Ubuntu 22.04 LTS" exit 1 fi } check_system echo echo "----------------------------------------------" echo " Sprawdzam czy wymagane porty są dostępne... " echo "----------------------------------------------" check_port() { nc -z localhost $1 >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "BŁĄD: Port $1 jest zajęty. Odblokuj port $1 i uruchom skrypt ponownie." exit 1 fi } check_port 80 check_port 8080 check_port 8081 check_port 8082 check_port 443 check_port 81 echo echo "----------------------------------------------" echo " Wszystkie wymagane porty są dostępne! " echo "----------------------------------------------" # Prepare OS sudo apt update sudo apt upgrade -y sudo apt install -y vim htop git mkdir -p $nextcloud_path mkdir -p $npm_path # Prepare deployments cd $nextcloud_path generate_and_save_passwords() { mysql_root_pass=$(openssl rand -base64 15) echo "MYSQL_ROOT_PASSWORD=$mysql_root_pass" > .env mysql_pass=$(openssl rand -base64 15) echo "MYSQL_PASSWORD=$mysql_pass" > .env } generate_and_save_passwords # Install docker & docker compose curl "https://get.docker.com" | bash sudo apt install docker-compose-plugin sudo usermod -aG docker $(whoami) # Deploy Nginx Proxy Manager cd $npm_path sudo docker compose up -d # Deploy Nextcloud + MariaDB + Redis cd $nextcloud_path sudo docker compose up -d echo echo "----------------------------------------------" echo " Sukces! Nextcloud został zainstalowany! " echo "----------------------------------------------"