gallery.fukun.net

基于 Photoview 定制的个人相册,部署在腾讯云 62.234.90.54。


访问

地址 说明
https://gallery.fukun.net 管理后台(需登录)
https://cdn.fukun.net/gallery/photos/... CDN 公开原图

定制项(与上游 Photoview 的差异)

  • 品牌 — 左上角 FK 书法 logo,页面标题 Gallery.FuKun.Net
  • 外观 — 纯黑背景 (#000),菜单图标改为极简线条
  • 字体 — iA Writer Quattro S + Noto Sans SC(与主站 fukun.net 一致)
  • CDN — 公开原图走 cdn.fukun.net,带 token 的鉴权图片自动切 CDN
  • 无 Docker — Go 二进制 + systemd,SQLite 单文件数据库
  • 人脸识别 — 已关闭(PHOTOVIEW_DISABLE_FACE_RECOGNITION=1)

目录结构

/home/gallery/
├── photoview-src/          # 源码 + 编译产物
│   ├── api/
│   │   ├── .env            # 运行时环境变量
│   │   └── photoview       # Go 二进制(38MB)
│   └── ui/
│       └── dist/           # 前端构建产物
├── photos/                 # 相片库根目录
└── data/
    ├── photoview.db        # SQLite 数据库
    └── media-cache/        # 缩略图缓存

本地开发

后端依赖 Linux C 库(dlib/libheif/ImageMagick),无法在 Windows 本地运行。 只能改前端代码,API 指向生产环境。

git clone ssh://git@fukun.net/data/git-repos/gallery.git
cd ui

cat > .env << EOF
REACT_APP_API_ENDPOINT=https://gallery.fukun.net/api/
REACT_APP_BUILD_VERSION=dev
REACT_APP_BUILD_DATE=$(date -u +%Y-%m-%d)
REACT_APP_BUILD_COMMIT_SHA=local
EOF

npm ci
npm run dev          # localhost:1234,API 连生产服务器

部署到服务器

# 构建前端
scp -r ui/src ui/public ubuntu@62.234.90.54:/tmp/pv-ui/
ssh ubuntu@62.234.90.54 '
  sudo cp -r /tmp/pv-ui/* /home/gallery/photoview-src/ui/
  sudo chown -R gallery:gallery /home/gallery/photoview-src/ui
  sudo -u gallery bash -c "cd /home/gallery/photoview-src/ui && npm ci && npm run build"
'

# 构建后端 + 重启
ssh ubuntu@62.234.90.54 '
  cd /home/gallery/photoview-src/api
  export PKG_CONFIG_PATH=/usr/local/im7/lib/pkgconfig CGO_ENABLED=1
  sudo -u gallery go build -o photoview .
  sudo systemctl restart photoview
'

运行时配置

systemd — /etc/systemd/system/photoview.service

环境变量 值
PHOTOVIEW_DATABASE_DRIVER sqlite
PHOTOVIEW_SQLITE_PATH /home/gallery/data/photoview.db
PHOTOVIEW_LISTEN_IP 127.0.0.1
PHOTOVIEW_LISTEN_PORT 8000
PHOTOVIEW_SERVE_UI 1
PHOTOVIEW_UI_PATH /home/gallery/photoview-src/ui/dist
PHOTOVIEW_MEDIA_CACHE /home/gallery/data/media-cache
PHOTOVIEW_DISABLE_FACE_RECOGNITION 1
LD_LIBRARY_PATH /usr/local/im7/lib

Nginx — /etc/nginx/sites-enabled/gallery.fukun.net

  • gallery.fukun.net + cdn.fukun.net → HTTPS → 127.0.0.1:8000
  • /photos/ → alias /home/gallery/photos/(CDN 回源口)
  • /assets/ → 缓存 30 天

SSL 证书 — 腾讯云证书,/etc/nginx/ssl/gallery.fukun.net_*


维护

# 查看状态
sudo systemctl status photoview
sudo journalctl -u photoview -f

# 重启
sudo systemctl restart photoview

# 备份数据库
sudo cp /home/gallery/data/photoview.db /opt/backup/photoview_$(date +%Y%m%d).db

# 上传照片
scp *.jpg ubuntu@62.234.90.54:/home/gallery/photos/

仓库

ssh://git@fukun.net/data/git-repos/gallery.git

服务器上 /data/git-repos/gallery.git(bare),推送到 master。

S
Description
No description provided
Readme
22 MiB
Languages
TypeScript 47.2%
Go 46.4%
Python 5.1%
Shell 0.7%
JavaScript 0.4%
Other 0.1%