Create a new installation directory, then cd
into it
mkdir /opt/glance && \
cd /opt/glance
Download the version of Glance you'd like to install from their GitHub release page
wget https://github.com/glanceapp/glance/releases/download/v0.7.3/glance-linux-amd64.tar.gz
I like to rename the download to contain the version number
mv glance-linux-amd64.tar.gz glance0.7.3-linux-amd64.tar.gz
Extract the tar archive. You'll be left with an executable called glance
tar -xzvf glance0.7.3-linux-amd64.tar.gz
Create a config for Glance to use. Here is Glance's official configuration guide.
bash -c "cat > /opt/glance/glance.yml" <<'EOF'
pages:
- name: Home
columns:
- size: small
widgets:
- type: calendar
first-day-of-week: monday
- size: full
widgets:
- type: group
widgets:
- type: hacker-news
- type: lobsters
- type: videos
channels:
- UCXuqSBlHAE6Xw-yeJA0Tunw # Linus Tech Tips
- UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling
- UCsBjURrPoezykLs9EqgamOA # Fireship
- UCBJycsmduvYEL83R_U4JriQ # Marques Brownlee
- UCHnyfMqiRRG1u-2MsSQLbXA # Veritasium
- type: group
widgets:
- type: reddit
subreddit: technology
show-thumbnails: true
- type: reddit
subreddit: selfhosted
show-thumbnails: true
- size: small
widgets:
- type: weather
location: London, United Kingdom
units: metric
hour-format: 12h
- type: markets
markets:
- symbol: SPY
name: S&P 500
- symbol: BTC-USD
name: Bitcoin
- symbol: NVDA
name: NVIDIA
- symbol: AAPL
name: Apple
- symbol: MSFT
name: Microsoft
- type: releases
cache: 1d
repositories:
- glanceapp/glance
- go-gitea/gitea
- immich-app/immich
- syncthing/syncthing
EOF
Create a new systemd service file
bash -c "cat > /etc/systemd/system/glance.service" <<'EOF'
[Unit]
Description=Glance
After=network.target
StartLimitIntervalSec=2
[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=root
WorkingDirectory=/opt/glance
ExecStart=/opt/glance/glance
[Install]
WantedBy=multi-user.target
EOF
Reload systemd and enable the new service
systemctl daemon-reload && \
systemctl enable --now glance.service
Glance should now be running, listening on port 8080/tcp.