123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/usr/bin/env bash
- # Copyright (c) 2021-2023 tteck
- # Author: tteck (tteckster)
- # License: MIT
- # https://github.com/tteck/Proxmox/raw/main/LICENSE
- source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
- color
- verb_ip6
- catch_errors
- setting_up_container
- network_check
- update_os
- msg_info "Installing Dependencies"
- $STD apt-get install -y curl
- $STD apt-get install -y sudo
- $STD apt-get install -y mc
- $STD apt-get install -y git
- $STD apt-get install -y ca-certificates
- $STD apt-get install -y gnupg
- msg_ok "Installed Dependencies"
- msg_info "Setting up Node.js Repository"
- mkdir -p /etc/apt/keyrings
- curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
- msg_ok "Set up Node.js Repository"
- msg_info "Installing Node.js/Yarn"
- $STD apt-get update
- $STD apt-get install -y nodejs
- $STD npm install -g npm@latest
- $STD npm install -g yarn
- msg_ok "Installed Node.js/Yarn"
- msg_info "Installing Homarr (Patience)"
- mkdir -p /opt/homarr
- RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
- wget -q -O- https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.tar.gz | $STD tar -xz -C /opt && mv /opt/homarr-${RELEASE}/* /opt/homarr
- rm -rf /opt/homarr-${RELEASE}
- cd /opt/homarr
- wget -q -O /opt/homarr/.env https://raw.githubusercontent.com/ajnart/homarr/dev/.env.example
- sed -i 's|NEXTAUTH_SECRET="[^"]*"|NEXTAUTH_SECRET="'"$(openssl rand -base64 32)"'"|' /opt/homarr/.env
- $STD yarn install
- $STD yarn build
- $STD yarn db:migrate
- msg_ok "Installed Homarr"
- msg_info "Creating Service"
- cat <<EOF >/etc/systemd/system/homarr.service
- [Unit]
- Description=Homarr Service
- After=network.target
- [Service]
- Type=exec
- WorkingDirectory=/opt/homarr
- EnvironmentFile=-/opt/homarr/.env
- ExecStart=/usr/bin/yarn start
- [Install]
- WantedBy=multi-user.target
- EOF
- systemctl enable -q --now homarr.service
- msg_ok "Created Service"
- motd_ssh
- customize
- msg_info "Cleaning up"
- $STD apt-get autoremove
- $STD apt-get autoclean
- msg_ok "Cleaned"
|