Skip to main content

Homepage

1) Create new LXC Container:

Storage: 3GB
RAM: 1024MB
vCPU: 2

2) Run container and install dependencies

apt-get update && upgrade
apt-get install -y curl sudo mc git
curl https://deb.nodesource.com/setup_16.x | -E bash -
apt update && install -y nodejs
npm install -g pnpm

3) Install Homepage

RELEASE=$(curl -s https://api.github.com/repos/benphelps/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/benphelps/homepage/archive/refs/tags/v${RELEASE}.tar.gz
tar -xvf v${RELEASE}.tar.gz
mkdir -p /opt/homepage
cp -r homepage-${RELEASE}/* /opt/homepage
rm -rf v${RELEASE}.tar.gz homepage-${RELEASE}
cd /opt/homepage
mkdir -p config
cp /opt/homepage/src/skeleton/* /opt/homepage/config
pnpm install
pnpm build

4) Set up Service to keep alive

systemctl enable --now homepage
nano /etc/systemd/system/homepage.service

[Unit]
Description=Homepage
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
WorkingDirectory=/opt/homepage/
ExecStart=pnpm start
[Install]
WantedBy=multi-user.target

5) Homepage should be accessible at http://<container-ip>:3000

References

https://raw.githubusercontent.com/tteck/Proxmox/main/ct/homepage.sh
Proxmox/homepage-install.sh at main ยท tteck/Proxmox (github.com)
benphelps/homepage: A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. (github.com)cd