SkillAgentSearch skills...

Solo

🎸 B3log 分布式社区的 Java 博客端节点系统,欢迎加入下一代社区网络。B3log distributed community blog-end node based on Java, welcome to join the next generation community network.

Install / Use

/learn @88250/Solo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align = "center"> <img alt="Solo" src="https://b3log.org/images/brand/solo-128.png"> <br><br> 小而美的博客系统,专为程序员设计 <br><br> <a title="Build Status" target="_blank" href="https://github.com/88250/solo/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/88250/solo/ci.yml?style=flat-square"></a> <a title="Docker Image CI" target="_blank" href="https://github.com/88250/solo/actions"><img src="https://img.shields.io/github/actions/workflow/status/88250/solo/dockerimage.yml?color=blue&label=Actions&logo=github&style=flat-square"></a> <a title="Coverage Status" target="_blank" href="https://coveralls.io/github/88250/solo"><img src="https://img.shields.io/coveralls/github/88250/solo.svg?style=flat-square&color=CC9933"></a> <a title="Code Size" target="_blank" href="https://github.com/88250/solo"><img src="https://img.shields.io/github/languages/code-size/88250/solo.svg?style=flat-square&color=6699FF"></a> <a title="MulanPSL2" target="_blank" href="https://license.coscl.org.cn/MulanPSL2"><img src="http://img.shields.io/badge/license-MulanPSL2-orange.svg?style=flat-square"></a> <br> <a title="Releases" target="_blank" href="https://github.com/88250/solo/releases"><img src="https://img.shields.io/github/release/88250/solo.svg?style=flat-square&color=CC6666"></a> <a title="Release Date" target="_blank" href="https://github.com/88250/solo/releases"><img src="https://img.shields.io/github/release-date/88250/solo.svg?style=flat-square&color=99CCFF"></a> <a title="Downloads" target="_blank" href="https://github.com/88250/solo/releases"><img src="https://img.shields.io/github/downloads/88250/solo/total.svg?style=flat-square&color=99CC99"></a> <a title="Docker Pulls" target="_blank" href="https://hub.docker.com/r/b3log/solo"><img src="https://img.shields.io/docker/pulls/b3log/solo.svg?style=flat-square&color=blueviolet"></a> <a title="Docker Image Size" target="_blank" href="https://hub.docker.com/r/b3log/solo"><img src="https://img.shields.io/docker/image-size/b3log/solo.svg?style=flat-square&color=ff96b4"></a> <br> <a title="GitHub Commits" target="_blank" href="https://github.com/88250/solo/commits/master"><img src="https://img.shields.io/github/commit-activity/m/88250/solo.svg?style=flat-square"></a> <a title="Last Commit" target="_blank" href="https://github.com/88250/solo/commits/master"><img src="https://img.shields.io/github/last-commit/88250/solo.svg?style=flat-square&color=FF9900"></a> <a title="GitHub Pull Requests" target="_blank" href="https://github.com/88250/solo/pulls"><img src="https://img.shields.io/github/issues-pr-closed/88250/solo.svg?style=flat-square&color=FF9966"></a> <a title="Hits" target="_blank" href="https://github.com/88250/hits"><img src="https://hits.b3log.org/88250/solo.svg"></a> <br><br> <a title="GitHub Watchers" target="_blank" href="https://github.com/88250/solo/watchers"><img src="https://img.shields.io/github/watchers/88250/solo.svg?label=Watchers&style=social"></a> <a title="GitHub Stars" target="_blank" href="https://github.com/88250/solo/stargazers"><img src="https://img.shields.io/github/stars/88250/solo.svg?label=Stars&style=social"></a> <a title="GitHub Forks" target="_blank" href="https://github.com/88250/solo/network/members"><img src="https://img.shields.io/github/forks/88250/solo.svg?label=Forks&style=social"></a> <a title="Author GitHub Followers" target="_blank" href="https://github.com/88250"><img src="https://img.shields.io/github/followers/88250.svg?label=Followers&style=social"></a> </p> <p align="center"> <a href="https://github.com/88250/solo/blob/master/README_en_US.md">English</a> </p>

💡 简介

Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

欢迎到 Solo 官方讨论区了解更多。同时也欢迎关注 B3log 开源社区微信公众号 B3log开源

b3logos.jpg

🗃 案例

https://ld246.com/top/solo

✨ 功能

🎨 界面

开始使用

start.png

后台首页

console.png

编辑文章

post.png

选择皮肤

skins.png

前台界面

pinghsu.png

Bubble.png

nijigen.png

timeline.png

Casper.png

Jane.png

🍱 皮肤

目前内置的皮肤如下,可点击进行预览:

欢迎在这里推荐好看的皮肤,我们会尽量进行制作。

🛠️ 安装

Solo 支持“动静两用”:

  • 动态博客:在服务器上搭建,进程常驻内存运行,在线使用
  • 静态博客:在本地电脑运行,写作完成后生成导出静态站点

视频教程

更多视频教程陆续制作中,欢迎到 B 站关注我:报废程序员D

本地运行

本地运行主要用于试用或者生成静态站点,生成静态站点的用法请参考这里

(视频演示教程请看这里

下载最新的 Solo 包解压,进入解压目录执行:

  • Windows: java -cp "lib/*;." org.b3log.solo.Server
  • Unix-like: java -cp "lib/*:." org.b3log.solo.Server

如果你有 Java 开发环境,可参考这里通过源码构建运行(视频演示教程请看这里)。

Docker 部署

Docker 方式部署是动态博客用法,主要用于在服务器上部署动态博客。

(视频演示教程请看这里

获取最新镜像

docker pull b3log/solo

启动容器

注意:对于如下命令,如果你不确定如何使用 \ 来进行换行,就不要换行了,一行内写完整条命令。

  • 使用 MySQL

    手动建库(库名 solo ,字符集使用 utf8mb4 ,排序规则 utf8mb4_general_ci ):

    create database solo default character set utf8mb4 collate utf8mb4_general_ci;
    create user 'root'@'127.0.0.1' identified by '123456';
    grant all privileges on *.* to 'root'@'127.0.0.1';
    flush privileges;
    

    启动容器:

    docker run --detach --name solo --network=host \
        --env RUNTIME_DB="MYSQL" \
        --env JDBC_USERNAME="root" \
        --env JDBC_PASSWORD="123456" \
        --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
        --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
        b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
    

    为了简单,使用了主机网络模式来连接主机上的 MySQL。

  • 使用 H2 Database

    docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 \
        --env RUNTIME_DB="H2" \
        --env JDBC_USERNAME="root" \
        --env JDBC_PASSWORD="123456" \
        --env JDBC_DRIVER="org.h2.Driver" \
        --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL" \
        b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=
    

启动参数说明:

  • --listen_port:进程监听端口
  • --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • --server_host:最终访问域名或公网 IP,不要带端口
  • --server_port:最终访问端口,使用浏览器默认的 80 或者 443 的话值留空即可

完整启动参数的说明可以使用 -h 来查看。

日志配置

默认通过 log4j2 将日志打印到标准输出流,可以通过 docker logs solo 进行查看。如果需要覆盖 log4j 配置,可通过挂载文件实现:

--volume ~/log4j2.xml:/opt/solo/log4j2.xml

挂载第三方皮肤

如果需要使用第三方皮肤,可以挂载目录 skins,目录结构请参考原版 skins:

--volume ~/skins/:/opt/solo/skins/

版本升级

  1. 拉取最新镜像
  2. 重启容器

可参考这里编写一个重启脚本,并通过 crontab 每日凌晨运行来实现自动更新。

Docker Compose

请参考这里,感谢 @liumapp 提供。

NGINX 反代

upstream backend {
    server localhost:8080; # Solo 监听端口
}

server {
    listen       80;
    server_name  88250.b3log.org; # 博客域名

    access_log off;

    location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $http_host;
       
View on GitHub
GitHub Stars1.7k
CategoryDevelopment
Updated1d ago
Forks450

Languages

Java

Security Score

85/100

Audited on Mar 26, 2026

No findings