ChronoFrame画廊部署教程

ChronoFrame部署教程

screenshot-1760875394352

1. 拉取镜像

ChronoFrame 镜像托管在 GitHub Container Registry (GHCR) 和 Docker Hub,可根据网络情况选择:

# 从 GHCR 拉取(推荐)
docker pull ghcr.io/hoshinosuzumi/chronoframe:latest

# 或从 Docker Hub 拉取
docker pull hoshinosuzumi/chronoframe:latest

2. 配置环境变量

在执行部署命令的工作目录创建 .env​ 文件并配置必要参数,完整配置项可参考 官方文档

# 管理员邮箱(必须)
CFRAME_ADMIN_EMAIL=aa@qq.com
# 管理员用户名(可选,默认 ChronoFrame)
CFRAME_ADMIN_NAME=aa
# 管理员密码(可选,默认 CF1234@!)
CFRAME_ADMIN_PASSWORD=aaaaa

# 站点信息(均可选)
NUXT_PUBLIC_APP_TITLE=ksmlc的图库站
NUXT_PUBLIC_APP_SLOGAN=HelloWorld
NUXT_PUBLIC_APP_AUTHOR=ksmlc
NUXT_PUBLIC_APP_AVATAR_URL=https://ksmlc.cn/images/ksmlc.png

# 地图提供器 (maplibre)
# MapLibre(需 MapTiler 令牌)
NUXT_PUBLIC_MAP_PROVIDER=maplibre
NUXT_PUBLIC_MAP_MAPLIBRE_TOKEN=aaaaaaaaaaaa

# 存储提供者(local 或 s3 或 openlist)
NUXT_STORAGE_PROVIDER=local
NUXT_PROVIDER_LOCAL_PATH=/app/data/storage

# OpenList基本配置(如果使用openlist必须填)
NUXT_PROVIDER_OPENLIST_BASE_URL=https://your-openlist-server.com
NUXT_PROVIDER_OPENLIST_ROOT_PATH=/天翼云盘/chronoframe/photos
NUXT_PROVIDER_OPENLIST_TOKEN=your-api-token

# 会话密码(必须,32 位随机字符串)
NUXT_SESSION_PASSWORD=IRYbaU6m46A3ulRchqfdrthnan5J7fIC

# 可通过 IP 端口访问
NUXT_ALLOW_INSECURE_COOKIE=true

# 重复文件检测
NUXT_UPLOAD_DUPLICATE_CHECK_ENABLED=true
# 重复文件检测-skip(跳过模式)、warn(警告模式)、block(阻止模式)
NUXT_UPLOAD_DUPLICATE_CHECK_MODE=skip

3. 部署方式

方式一:单容器部署

直接使用 docker run 启动:

docker run -d \
  --name chronoframe \
  -p 3320:3000 \
  -v /www/wwwroot/img.520301.xyz:/app/data \
  --env-file .env \
  ghcr.io/hoshinosuzumi/chronoframe:latest

4. 访问服务

部署完成后,通过 http://localhost:3320 访问 ChronoFrame,使用配置的管理员邮箱和密码登录。

5. 常用操作(Docker Compose)

# 查看日志
docker-compose logs -f chronoframe

# 停止服务
docker-compose down

# 更新镜像并重启
docker-compose pull
docker-compose up -d

6. 反向代理

可参考官方文档,不会配置直接把下方的交给ai

server {
    listen 80;
    server_name your-domain.com;
    
    # HTTPS 重定向
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name your-domain.com;
    
    # SSL 证书配置
    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;
    
    # SSL 安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    
    # 上传大小限制
    client_max_body_size 100M;
    
    location / {
        proxy_pass http://localhost:3320;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        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 $scheme;
        proxy_cache_bypass $http_upgrade;
        
        # WebSocket 支持
        proxy_set_header Connection "upgrade";
        proxy_set_header Upgrade $http_upgrade;
        
        # 超时设置
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
    
    # 静态资源缓存
    location ~* \.(jpg|jpeg|png|gif|webp|svg|css|js|ico|woff|woff2|ttf|eot)$ {
        proxy_pass http://localhost:3000;
        expires 1y;
        add_header Cache-Control "public, immutable";
        proxy_set_header Host $host;
    }
}

登录到控制台

  1. 点击头像跳转到登录页面,可以使用账号密码或 GitHub 登录

上传照片

  1. 访问仪表板页面 /dashboard
  2. Photos 页面中选择图片并点击上传(支持批量上传和拖拽上传)
  3. 系统将自动提取 EXIF 信息、生成缩略图并逆编码照片地理位置

注意事项

  • 数据会保存在你所指定的目录,例如上方:/www/wwwroot/photo.520301.xyz,建议定期备份

  • 如果后续修改了 .env 文件后,需要重启 ChronoFrame 容器才能使新的配置生效。

    1. 先停止当前运行的容器

      docker stop chronoframe
      
    2. 移除已停止的容器(因为 Docker 容器启动后,配置会固化,必须重建才能加载新配置)

      docker rm chronoframe
      
    3. 用同样的命令重新启动容器(此时会读取更新后的 .env 文件)

      docker run -d \
        --name chronoframe \
        -p 3320:3000 \
        -v /www/wwwroot/photo.520301.xyz:/app/data \
        --env-file .env \
        ghcr.io/hoshinosuzumi/chronoframe:latest
      

更新 ChronoFrame 容器的步骤:

  1. 停止并移除旧容器

    docker stop chronoframe
    docker rm chronoframe
    
  2. 拉取最新镜像

    docker pull ghcr.io/hoshinosuzumi/chronoframe:latest
    
  3. 用新镜像重新启动容器(使用相同的配置):

    docker run -d \
      --name chronoframe \
      -p 3320:3000 \
      -v /www/wwwroot/photo.520301.xyz:/app/data \
      --env-file .env \
      ghcr.io/hoshinosuzumi/chronoframe:latest
    
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇