首页
/ Tronbyt-Server项目Docker部署指南

Tronbyt-Server项目Docker部署指南

2025-07-09 01:42:40作者:瞿蔚英Wynne

项目概述

Tronbyt-Server是一个基于Docker容器化部署的服务端应用,主要用于管理和渲染Pixlet应用。该项目通过Docker Compose文件定义了完整的服务配置,使得部署过程变得简单高效。

核心服务配置解析

Web服务定义

在docker-compose.yaml文件中,定义了一个名为web的核心服务:

services:
  web:
    image: ghcr.io/tavdog/tronbyt-server:latest
    restart: unless-stopped
  • 镜像来源:使用最新版的tronbyt-server镜像
  • 重启策略:配置为unless-stopped,意味着除非手动停止,否则容器会自动重启

端口映射配置

ports:
  - "${SERVER_PORT}:8000"
  - "${PIXLET_SERVE_PORT1}:5100"
  - "${PIXLET_SERVE_PORT2}:5101"
  • 主服务端口:将容器内的8000端口映射到宿主机的SERVER_PORT环境变量指定端口
  • Pixlet服务端口
    • 5100端口用于Pixlet服务接口,映射到宿主机的PIXLET_SERVE_PORT1
    • 5101端口为第二个用户预留,映射到PIXLET_SERVE_PORT2
    • 注释说明可以按需增加更多用户端口或使用host网络模式

数据卷配置

volumes:
  - "/etc/localtime:/etc/localtime:ro"
  - users:/app/users
  - webp:/app/tronbyt_server/webp
  • 时间同步:将宿主机的localtime文件以只读方式挂载到容器,确保容器时间与主机同步
  • 用户数据卷users卷挂载到/app/users目录,持久化存储用户数据
  • WebP数据卷webp卷挂载到/app/tronbyt_server/webp目录,存储WebP格式文件

环境变量配置

environment:
  - SERVER_HOSTNAME=${SERVER_HOSTNAME_OR_IP}
  - SERVER_PORT=${SERVER_PORT}
  - PIXLET_RENDER_PORT1=${PIXLET_SERVE_PORT1}
  - SYSTEM_APPS_REPO=${SYSTEM_APPS_REPO}
  - PRODUCTION=${PRODUCTION}
  • 必需变量:SERVER_HOSTNAME_OR_IP必须设置,否则会报错
  • 端口配置:SERVER_PORT和PIXLET_RENDER_PORT1与服务端口映射对应
  • 应用仓库:SYSTEM_APPS_REPO指定系统应用的来源仓库
  • 运行模式:PRODUCTION变量控制是否以生产模式运行

数据卷定义

volumes:
  users:
  webp:

在文件底部定义了命名的Docker卷,确保用户数据和WebP文件能够持久化存储。

部署实践建议

  1. 环境准备

    • 确保已安装Docker和Docker Compose
    • 创建.env文件并设置所有必需环境变量
  2. 多用户支持

    • 如需支持更多用户,可以按5100/5101的模式继续添加端口映射
    • 或者考虑使用host网络模式简化端口配置
  3. 生产环境部署

    • 将PRODUCTION环境变量设置为true
    • 考虑添加反向代理(如Nginx)处理HTTPS和负载均衡
  4. 数据备份

    • 定期备份users和webp卷数据
    • 可以考虑使用Docker卷的备份工具

常见问题排查

  1. 时间不同步问题

    • 检查/etc/localtime挂载是否正确
    • 验证主机时间设置
  2. 端口冲突

    • 确保SERVER_PORT、PIXLET_SERVE_PORT1等端口未被占用
    • 使用netstat -tuln检查端口使用情况
  3. 环境变量缺失

    • 特别是SERVER_HOSTNAME_OR_IP必须设置
    • 所有${}引用的变量都应在.env文件中定义

通过这份Docker Compose配置,Tronbyt-Server项目实现了开箱即用的容器化部署方案,既适合开发测试环境,也能满足生产部署需求。

登录后查看全文
热门项目推荐

热门内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
270
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
909
541
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.21 K
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
142
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
63
58
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.1 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
87
4