A self-hosted dashboard that puts all your feeds in one place。
Install • Configuration • Preconfigured pages • Themes • Discord
- RSS feeds
- Subreddit posts
- Weather
- Bookmarks
- Hacker News
- Lobsters
- Latest YouTube videos from specific channels
- Clock
- Calendar
- Stocks
- iframe
- Twitch channels & top games
- GitHub releases
- Repository overview
- Site monitor
- Search box
- Minimal JS, no bloated frameworks
- Very few dependencies
- Single, easily distributed <15mb binary and just as small docker container
- All requests are parallelized, uncached pages usually load within ~1s (depending on internet speed and number of widgets)
Checkout the configuration docs to learn more. A preconfigured page is also available to get you started quickly.
Caution
The project is under active development, expect things to break every once in a while.
Checkout the releases page for available binaries. You can place the binary inside /opt/glance/
and have it start with your server via a systemd service. To specify a different path for the config file use the --config
option:
/opt/glance/glance --config /etc/glance.yml
Important
Make sure you have a valid glance.yml
file in the same directory before running the container.
docker run -d -p 8080:8080 \
-v ./glance.yml:/app/glance.yml \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
glanceapp/glance
Or if you prefer docker compose:
services:
glance:
image: glanceapp/glance
volumes:
- ./glance.yml:/app/glance.yml
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 8080:8080
restart: unless-stopped
Building from source
Requirements: Go >= v1.22
To build:
go build -o build/glance .
To run:
go run .
Build the image:
Make sure to replace "owner" with your name or organization.
docker build -t owner/glance:latest .
Push the image to your registry:
docker push owner/glance:latest
from https://github.com/glanceapp/glance/
-------------------------------------
几个月前了解到Glance这个项目,一直都想找个时间好好折腾一下,当时就觉得这个程序很符合我平时的上网习惯,基本可以把我平时上网要看的东西都能整合在一个页面里面。
然后我就按自己的习惯搓了个配置文件,最终效果:
话不多说,开始部署:
apt -y update
apt -y install curl wget nginx python3-certbot-nginx
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
准备目录新建compose文件:
mkdir -p /opt/glance && cd /opt/glance && nano docker-compose.yml
写入如下配置:
services:
glance:
image: glanceapp/glance
restart: unless-stopped
volumes:
- ./glance.yml:/app/glance.yml
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 8081:8080
新建glance.yml配置文件:
nano glance.yml
我的配置如下:
theme:
background-color: 225 14 15
primary-color: 157 47 65
contrast-multiplier: 1.1
pages:
- name: Home
columns:
- size: small
widgets:
- type: clock
hour-format: 24h
timezones:
- timezone: Etc/UTC
label: MapleStory Game Time
- timezone: Asia/Shanghai
label: Shanghai
- timezone: America/New_York
label: New York
- type: calendar
- type: twitch-channels
channels:
- ereklo_game
- niru
- duky
- scardor
- isiinggunz
- sacrix
- type: twitch-top-games
exclude:
- just-chatting
- pools-hot-tubs-and-beaches
- music
- art
- asmr
- size: full
widgets:
- type: search
search-engine: google
bangs:
- title: YouTube
shortcut: "!yt"
url: https://www.youtube.com/results?search_query={QUERY}
- type: monitor
cache: 1m
style: dynamic-columns-experimental
title: Services
sites:
- title: Vaultwarden
url: https://vaultwarden.example.com/
icon: si:vaultwarden
- title: ProxmoxVE
url: https://pve.example.com:8006/
icon: si:proxmox
allow-insecure: true
- title: WordPress
url: https://mydomain.com
icon: si:wordpress
- title: Chevereto
url: https://img.xxoo.zip/
icon: si:coil
- type: rss
limit: 10
collapse-after: 3
cache: 3h
style: detailed-list
feeds:
- url: https://mydomain.com/feed
title: 荒岛
- type: reddit
subreddit: selfhosted
style: horizontal-cards
- type: reddit
subreddit: China_irl
style: horizontal-cards
- type: videos
channels:
- UCBKDRq35-L8xev4O7ZqBeLg # wangzhian
- UCiL5EGUQfROCmRokN2q1LCg # xumouren
- UCIXOIjR2mp8tHz78DE0vj2A # xuxiaodong
- UCcOCpJNG2hR0wohtBVdeshA # ms
limit: 25
collapse-after-rows: 2
style: grid-cards
- size: small
widgets:
- type: weather
location: Wuhan, China
- type: bookmarks
groups:
- links:
- title: Google
url: https://google.com/
- title: Github
url: https://github.com/
- title: Hostloc
url: https://hostloc.com/
- title: Nodeseek
url: https://www.nodeseek.com/
- title: Linuxdo
url: https://linux.do/
- title: V2ex
url: https://www.v2ex.com/
- title: Entertainment
color: 10 70 50
links:
- title: Bilibli
url: https://www.bilibili.com/
- title: YouTube
url: https://www.youtube.com/
- title: Netflix
url: https://www.netflix.com/
- title: Disney+
url: https://www.disneyplus.com/
- title: Social
color: 200 50 50
links:
- title: Reddit
url: https://www.reddit.com/
- title: Twitter
url: https://twitter.com/
- type: releases
repositories:
- immich-app/immich
- dani-garcia/vaultwarden
- misskey-dev/misskey
- SagerNet/sing-box
- XTLS/Xray-core
- stalwartlabs/mail-server
- bitmagnet-io/bitmagnet
- Paymenter/Paymenter
- ConvoyPanel/panel
- type: repository
repository: stalwartlabs/mail-server
pull-requests-limit: 5
issues-limit: 3
简单介绍一下我这个配置:
1、时间这块我配置了一个UTC时间,因为我平时玩MapleStory,这个游戏里面的时间比北京时间晚8个小时,这样我就可以及时知道游戏内的活动到期时间、物品过期时间了,随时提醒我上线= =
2、关注了几个在Twitch玩MapleStory的游戏主播,我平时有事没事也会看看这几个人的直播,这样开播的时候我能第一时间看到。
玩GMS谁能不认识niru(全世界第一个300级的男人,睡着了都还在电脑前刷怪233)还有duky,这货也是搞笑,之前自己弄了个外挂出来可以卡已经被删除的轮回石碑效果,然后弄个小号在地图里面挂着,大号就在地图里面刷怪体验轮回效果,然后GM把他号BAN了还开直播装无辜= =
3、RSS这个没什么好说的,订阅自己喜欢的站点。这里只是演示,我就只订阅了我自己的这个博客。
4、Reddit我配置了selfhosted、china_irl,这是我平时最常逛的两个版块了。这里要注意的是,Reddit把很多机房(数据中心)的IP都拉黑了,如果你搭建Glance的机器无法访问Reddit就会有类似这样的报错:
我自己搭建的这台服务器就是IP被Reddit拉黑了,但是经过我的一番折腾已经完美解决了,步骤有点多,我会单独写一篇文章说明,这里先不说了。
5、Glance还支持关注Youtube的频道,我也是把自己常看的几个频道加进去了。配置的时候需要对应频道的ID,可以参考这里:https://github.com/glanceapp/glance/blob/main/docs/configuration.md#videos 获取。
6、天气这个也没什么好说的,只能说武汉这b天气真的可以热死人,太阳底下的车屁股温度可以达到80多度。。
7、书签功能,配置了几个我平时常看的网站。
8、关注了几个Github的存储库,可以把自己比较关注的项目配置上去,这样项目有任何更改,都能第一时间看到。卧槽,这功能简直绝了!
9、搜索功能,默认使用Google搜索,还支持使用短代码临时切换搜索,比如先输入!yt,然后再输入搜索词的话,那么就是在Youtube上搜索了。
10、服务可用性监控,可以把自建的服务配置上去,随时监测服务的健康状态。
更多配置,可以查看官方的文档:https://github.com/glanceapp/glance/blob/main/docs/configuration.md
总而言之就是Glance是一个高度可自定义的个人homepage。完全可以根据你的个人需求来自定义,达到一个百花齐放的效果。
启动:
docker compose up -d
配置NGINX反向代理:
nano /etc/nginx/sites-available/glacne
写入如下配置:
server {
listen 80;
listen [::]:80;
server_name glance.example.com;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
client_max_body_size 0;
}
}
启用站点:
ln -s /etc/nginx/sites-available/glance /etc/nginx/sites-enabled/glance
No comments:
Post a Comment