1. Information
-
Enter the following commands at a Command Line.
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/benphelps/homepage:latest # See https://gethomepage.dev/installation/docker/#running-as-non-root docker run -p 3000:3000 -e HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest version: "3.3" services: homepage: image: ghcr.io/benphelps/homepage:latest container_name: homepage ports: - 3000:3000 volumes: - /path/to/config:/app/config # Make sure your local config directory exists - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations
2. Required
-
Install Node.
3. Docker
cp -a ~/github/homepage/config ~/config docker run -p 3000:3000 -v ./config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest docker run -p 3000:3000 -e HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev -v ./config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
4. Source Installation
-
Enter the following commands at a Command Line.
mkdir -p ~/github cd ~/github git clone https://github.com/gethomepage/homepage.git cd homepage # Install pnpm. npm install -g pnpm pnpm --version # 10.30.1 # Install dependencies and build the production bundle. pnpm install pnpm build # Run the server. pnpm start # Works. HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev:1234 pnpm start # Works. HOMEPAGE_ALLOWED_HOSTS=172.22.241.23:3000 pnpm start # Works on WSL instance with networkingMode=nat in C:\Users\Douwe\.wslconfig. HOMEPAGE_ALLOWED_HOSTS=10.1.7.96:3000 pnpm start # Works on WSL instance with networkingMode=mirrored in C:\Users\Douwe\.wslconfig. ??? HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev:3000 pnpm start # Works. HOMEPAGE_ALLOWED_HOSTS=10.1.7.96:3000 pnpm start # Fails. HOMEPAGE_ALLOWED_HOSTS=0.0.0.0:3000 pnpm start # Fails. # HOST=0.0.0.0 pnpm start HOST=0.0.0.0;HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev:3000 pnpm start #╭ Warning ───────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ Ignored build scripts: core-js@3.40.0, cpu-features@0.0.10, esbuild@0.27.2, protobufjs@7.5.3, ssh2@1.16.0. │ │ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │ │ │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ⚠ "next start" does not work with "output: standalone" configuration. Use "node .next/standalone/server.js" instead.
-
Browse to Homepage.
5. Grendel
5.1. Docker Server
-
Log in as atlas on 10.1.7.107:26 with ssh://atlas@10.1.7.107:26.
-
Enter the following commands at a Command Line.
mkdir -p /home/atlas/homepage mkdir -p /home/atlas/homepage-test
-
Create a /home/atlas/homepage/docker-compose.yml file with the following contents.
services: homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage environment: HOMEPAGE_ALLOWED_HOSTS: homepage.grendelgames.com # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts PUID: 1000 # optional, your user id PGID: 1000 # optional, your group id ports: - 3000:3000 volumes: - /home/atlas/homepage/config:/app/config # Make sure your local config directory exists - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations restart: unless-stopped -
Create a /home/atlas/homepage-test/docker-compose.yml file with the following contents.
services: homepage-test: image: ghcr.io/gethomepage/homepage:latest container_name: homepage-test environment: HOMEPAGE_ALLOWED_HOSTS: homepage-test.grendelgames.com # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts PUID: 1000 # optional, your user id PGID: 1000 # optional, your group id ports: - 3009:3000 volumes: - /home/atlas/homepage-test/config:/app/config # Make sure your local config directory exists - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations restart: unless-stopped ~ -
Enter the following commands at a Command Line.
# Start Homepage container. cd /home/atlas/homepage docker compose up --detach # Start Homepage Test container. cd /home/atlas/homepage-test docker compose up --detach
-
Browse to http://homepage.grendelgames.com.
-
Browse to http://homepage-test.grendelgames.com.
# Update Homepage docker image to latest version cd /home/atlas/homepage docker-compose down docker-compose pull docker-compose up --detach
Issues
-
See https://stackoverflow.com/questions/42842277/docker-compose-down-default-network-error.
-
Enter the following commands at a Command Line.
cd /home/atlas/homepage docker-compose down
ERROR: network docker_default has active endpoints
docker-compose down --remove-orphans
5.2. Git Repository
Existing solutions.
cd /home/atlas/gitlab ls -al git remote --verbose
+
origin http://gitlab.grendelgames.com/atlas/gitlab.git (fetch) origin http://gitlab.grendelgames.com/atlas/gitlab.git (push)
5.3. Homepage Configuration
-
Consider to use Horizontal versus Vertical tables.
5.4. Nginx Reverse Proxy
-
Log in as root on 10.1.7.108 with ssh://root@10.1.7.108.
-
Add the following lines to the /etc/hosts file.
10.1.7.108 homepage.grendelgames.com 10.1.7.108 homepage-test.grendelgames.com
-
Enter the following commands at a Command Line.
ls -al /etc/nginx/conf.d cp -a /etc/nginx/conf.d/15-bookstack.conf /etc/nginx/conf.d/15-homepage.conf cp -a /etc/nginx/conf.d/15-bookstack.conf /etc/nginx/conf.d/15-homepage-test.conf sed -i s/kb/homepage/g /etc/nginx/conf.d/15-homepage.conf sed -i s/6875/3000/g /etc/nginx/conf.d/15-homepage.conf sed -i s/kb/homepage-test/g /etc/nginx/conf.d/15-homepage-test.conf sed -i s/6875/3009/g /etc/nginx/conf.d/15-homepage-test.conf chown beheer:beheer /etc/nginx/conf.d/15-homepage.conf chown beheer:beheer /etc/nginx/conf.d/15-homepage-test.conf systemctl restart nginx ls -al /etc/nginx/conf.ddrwxr-xr-x 2 beheer beheer 4096 Apr 2 11:29 . drwxr-xr-x 8 root root 4096 Feb 13 06:38 .. -rw-r--r-- 1 beheer beheer 634 Jul 3 2024 10-gitlab.conf -rw-r--r-- 1 beheer beheer 628 Apr 8 2024 15-bookstack.conf -rw-r--r-- 1 beheer beheer 650 Apr 1 20:38 15-homepage-test.conf -rw-r--r-- 1 beheer beheer 640 Mar 6 12:29 15-homepage.conf -rw-r--r-- 1 beheer beheer 788 Mar 5 17:36 15-proxmox.conf -rw-r--r-- 1 beheer beheer 645 Apr 8 2024 15-resolve-project-server.conf -rw-r--r-- 1 beheer beheer 630 Apr 8 2024 15-upm.conf