| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 12:13:05 -05:00
										 |  |  | # Copyright (c) 2021-2024 tteck | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | # 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 | 
					
						
							| 
									
										
										
										
											2023-09-01 07:19:05 -04:00
										 |  |  | $STD apt-get install -y ca-certificates | 
					
						
							|  |  |  | $STD apt-get install -y gnupg | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | msg_ok "Installed Dependencies" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | msg_info "Setting up Node.js Repository" | 
					
						
							| 
									
										
										
										
											2023-09-02 08:36:54 -04:00
										 |  |  | mkdir -p /etc/apt/keyrings | 
					
						
							| 
									
										
										
										
											2023-09-01 07:19:05 -04:00
										 |  |  | curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg | 
					
						
							| 
									
										
										
										
											2023-11-11 12:39:23 -05:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | msg_ok "Set up Node.js Repository" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-11 13:13:45 -05:00
										 |  |  | msg_info "Installing Node.js/Yarn" | 
					
						
							| 
									
										
										
										
											2023-09-01 07:19:05 -04:00
										 |  |  | $STD apt-get update | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | $STD apt-get install -y nodejs | 
					
						
							| 
									
										
										
										
											2023-11-11 13:36:23 -05:00
										 |  |  | $STD npm install -g npm@latest | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | $STD npm install -g yarn | 
					
						
							| 
									
										
										
										
											2023-11-11 13:13:45 -05:00
										 |  |  | msg_ok "Installed Node.js/Yarn" | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | msg_info "Installing Homarr (Patience)" | 
					
						
							| 
									
										
										
										
											2024-04-14 23:53:22 -04:00
										 |  |  | $STD git clone -b dev https://github.com/ajnart/homarr.git /opt/homarr | 
					
						
							|  |  |  | cat <<EOF >/opt/homarr/.env | 
					
						
							|  |  |  | DATABASE_URL="file:./database/db.sqlite" | 
					
						
							|  |  |  | NEXTAUTH_URL="http://localhost:3000" | 
					
						
							|  |  |  | NEXTAUTH_SECRET="$(openssl rand -base64 32)" | 
					
						
							|  |  |  | NEXT_PUBLIC_DISABLE_ANALYTICS="true" | 
					
						
							|  |  |  | DEFAULT_COLOR_SCHEME="dark" | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | cd /opt/homarr | 
					
						
							| 
									
										
										
										
											2023-11-11 13:03:35 -05:00
										 |  |  | $STD yarn install | 
					
						
							|  |  |  | $STD yarn build | 
					
						
							| 
									
										
										
										
											2023-11-11 12:08:31 -05:00
										 |  |  | $STD yarn db:migrate | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2023-09-25 05:17:51 -04:00
										 |  |  | EnvironmentFile=-/opt/homarr/.env | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | 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" | 
					
						
							| 
									
										
										
										
											2024-05-02 13:26:16 -04:00
										 |  |  | $STD apt-get -y autoremove | 
					
						
							|  |  |  | $STD apt-get -y autoclean | 
					
						
							| 
									
										
										
										
											2023-08-16 08:56:17 -04:00
										 |  |  | msg_ok "Cleaned" |