专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

jonlatane/jonline Docker 镜像 - 轩辕镜像

jonline
jonlatane/jonline
Jonline是基于Rust、React和Flutter构建的联邦开源社区规模社交网络,此镜像在标准Debian服务器上运行Jonline,暴露Flutter Web应用(端口80、8000、443,TLS启用时)和gRPC后端(端口27707)。
0 次下载activejonlatane镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Jonline Docker镜像文档

镜像概述和主要用途

Jonline是一个联邦开源社区规模社交网络,采用Rust、React、Flutter构建,并结合gRPC和HTTP技术。本镜像在标准(非精简版)Debian服务器上运行Jonline,暴露Flutter Web应用(端口80、8000、443,当通过环境变量启用TLS时)和Jonline gRPC后端(端口27707)。

核心功能和特性

  • 基于联邦架构的开源社交网络服务
  • 支持Flutter Web应用多端口访问(80、8000、443)
  • 内置gRPC后端服务(端口27707),支持gRPC反射
  • 基于标准Debian构建,兼容Debian系统管理工具
  • 通过环境变量灵活配置数据库、对象存储、TLS等关键参数
  • 内置多种服务器管理工具和Jonline二进制程序

使用场景和适用范围

  • 开发者本地搭建Jonline测试环境
  • 社区组织部署私有或公共社交网络服务
  • 需要联邦社交功能的小型社区平台构建

详细使用方法和配置说明

本地运行Jonline
Makefile管理的设置

如果系统安装了make、Docker以及提供createdb命令的Postgres(已加入PATH),最简单的方法是克隆GitHub仓库并使用Jonline的Makefile(注意使用backend/.env-example中的环境变量和backend/Makefile中的Make目标):

bash
git clone ***:JonLatane/jonline.git
cd jonline

# 运行createdb jonline_dev,并在后台本地运行MinIO的Docker镜像
make local_db_create local_minio_create

# 启动Jonline最新镜像
docker run --rm --env-file=backend/.env-example \
    -p 27707:27707 -p 80:80 -p 8000:8000 -p 443:443 \
    jonlatane/jonline

完成后清理数据,只需执行make local_db_delete local_minio_delete。

Postgres设置

Postgres设置留给读者自行操作,因为其已有完善文档且因平台而异(Homebrew、apt等)。最终需创建数据库jonline_dev、用户db_user和密码secure_password,并满足:

  • db_user能执行数据库迁移(可能需要以Postgres管理员身份执行ALTER USER db_user WITH SUPERUSER)
  • Postgres允许来自Docker容器的db_user连接
MinIO设置

以下命令将在当前工作目录创建jonline-minio-data目录,并启动名为jonline-dev-minio的本地MinIO(S3兼容对象存储服务):

bash
mkdir jonline-minio-data
docker run -d -p 9000:9000 -p 9090:9090 --name jonline-dev-minio \
   -v $(pwd)/jonline-minio-data:/data \
   -e "MINIO_ROOT_USER=ROOTNAME" \
   -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
   minio/minio server /data --console-address ":9090"

可通过http://localhost:9090访问MinIO控制台。

本地运行Jonline

以下命令将针对已配置的Postgres和MinIO启动最新Jonline镜像:

bash
docker run --rm -e DATABASE_URL=postgres://db_user:***/jonline_dev \
   -e MINIO_ENDPOINT=[***] \
   -e MINIO_REGION= \
   -e MINIO_BUCKET=jonline-dev \
   -e MINIO_ACCESS_KEY=ROOTNAME \
   -e MINIO_SECRET_KEY=CHANGEME123 \
    -p 27707:27707 -p 80:80 -p 8000:8000 -p 443:443 \
    jonlatane/jonline

环境变量

Jonline通过环境变量提供配置参数(包括密钥):

  • DATABASE_URL:Jonline连接的Postgres数据库URL(包含凭据)。
  • MINIO_ENDPOINT、MINIO_REGION、MINIO_BUCKET、MINIO_ACCESS_KEY、MINIO_SECRET_KEY:Amazon S3/MinIO兼容对象存储的凭据。目前MinIO是必需的,未来可能会变为可选。
  • TLS_KEY、TLS_CERT:TLS密钥和证书。若未提供,Jonline不会启动安全服务器;若无效,Jonline会记录错误但仍在其他端口运行非安全服务器。若证书有效,端口80和8000的Web服务器会将请求从[***][:8000]/path/to转发至[***]。
    • 有关HTTPS/TLS设置的详细说明,参见GitHub上的generated_certs/README.md,支持通过Cert-Manager(推荐)、其他CA或自定义CA配置,适用于支持K8s Load***、DNS管理API和Cert-Manager的云服务(如Google Cloud、AWS、Azure、DigitalOcean、Scaleway等)。
  • CA_CERT(仅高级用户,用于自定义CA和/或双向TLS设置):Jonline后端的CA证书,用于自行在gRPC服务上设置双向TLS(注意:端口443的安全Web服务器不支持自定义CA,在此配置下可能崩溃,但Tonic/gRPC Jonline后端仍可运行)。

通过bash管理服务器

连接服务器
通过Docker连接
  1. 从docker container ls获取运行Jonline的容器ID。
  2. 执行docker exec -it <ContainerID> bash打开bash。
通过Kubernetes连接
  • 若使用Jonline基于Makefile的K8s部署系统,从Jonline仓库目录执行cd deploys,然后运行make deploy_be_shell(若命名空间非默认的jonline,可使用NAMESPACE=my-namespace deploy_be_shell)。
  • 否则,参见deploys/Makefile中deploy_be_shell目标对应的kubectl命令。
部署管理
环境和系统工具

Jonline基于Debian镜像构建,因此可轻松安装和使用Debian服务器管理工具:

  • 例如,检查CPU使用率:apt install htop && htop。
    • 镜像中已预装的非Debian基础软件包包括curl、psql和grpcurl。
  • 查看DATABASE_URL密钥:echo $DATABASE_URL。
    • 测试数据库连接:psql $DATABASE_URL。
  • 使用grpcurl测试Jonline服务器:./opt/grpcurl(例如./opt/grpcurl jonline.io:27707 list)。
Jonline工具

Jonline工具位于/opt目录,依赖DATABASE_URL密钥,服务器正常运行时即可使用:

  • 为用户分配管理员角色:./opt/set_permission my_username admin on
    • 可将admin替换为Jonline协议文档中定义的任何权限(不区分大小写)。
  • 删除过期的身份验证令牌:./opt/delete_expired_tokens
    • 标准Jonline K8s部署通过CronJob自动执行此操作,无需手动运行。
  • 删除预览图片:./opt/delete_preview_images
    • 标准Jonline K8s部署通过CronJob生成预览图片,删除后会重新生成。
    • 注意:此镜像本身无法生成预览截图,因此/opt/generate_preview_images二进制文件不可用。由于Chromium Headless体积较大,提供了单独的jonline_preview_generator镜像。若需在主服务器上安装Chromium Headless并使用此二进制文件,可执行Jonline仓库中deploys/docker/preview_generator/Dockerfile内的命令。

端口说明

Jonline暴露以下端口:

  • 27707:Jonline协议端口,提供gRPC服务(支持Web和/或TLS)及gRPC反射服务。
  • 443:当TLS_KEY和TLS_CERT有效时,启动安全HTTPS服务器,提供Tamagui(默认)或Flutter UI。
  • 80和8000:非安全HTTPS服务器。当TLS_KEY和TLS_CERT有效时,重定向至端口443的HTTPS服务器;否则直接提供Tamagui(默认)或Flutter UI。

内置Jonline二进制程序

  • /opt/jonline:Jonline主服务器(容器入口点)
  • /opt/delete_expired_tokens:删除过期刷新令牌和身份验证令牌的任务
  • /opt/delete_preview_images:删除Jonline预览图片的一次性任务(通常用于让jonline_preview_generator重新生成)
查看更多 jonline 相关镜像 →
jonlatane/jonline_preview_generator logo
jonlatane/jonline_preview_generator
by jonlatane
Jonline的预览生成器,与Jonline类似,但包含Chromium Headless。
10K+ pulls
上次更新:6 个月前
jonlatane/jbl logo
jonlatane/jbl
by jonlatane
Jonline负载均衡器:支持TLS的Kubernetes负载均衡器,适用于多K8s命名空间,集成Cert-Manager实现证书自动化管理。
10K+ pulls
上次更新:6 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
jonlatane/jonline
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429