GithubHelp home page GithubHelp logo

chaihaobo / solo Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 92.7 MB

🎸 一款小而美的博客系统,专为程序员设计。

Home Page: https://solo.b3log.org

License: GNU Affero General Public License v3.0

HTML 14.59% Java 66.69% CSS 2.21% JavaScript 9.97% FreeMarker 6.48% Shell 0.03% Dockerfile 0.03%

solo's Introduction

Solo

小而美的博客系统,专为程序员设计





        

💡 简介

Solo 是一款小而美的开源博客系统,专为程序员设计。

Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
具体细节请浏览 B3log 构思

🗃 案例

✨ 功能

🎨 界面

开始使用

start

后台首页

console

编辑文章

post

选择皮肤

skins

前台界面

Bubble

Casper

pinghsu

Jane

nijigen

timeline

🍱 皮肤

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

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

🛠️ 安装

本地试用

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

  • Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
  • Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter

如果你有 Java 开发环境,可参考这里通过源码构建运行。

请注意:我们不建议通过 war 发布包或者源码构建部署,因为这样的部署方式在将来有新版本发布时升级会比较麻烦。 这两种方式请仅用于本地试用,线上生产环境建议通过 Docker 部署。

Docker 部署(推荐方案)

获取最新镜像

docker pull b3log/solo

启动容器

  • 使用 MySQL

    先手动建库(库名 solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后启动容器:

    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" \
        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 来查看。

日志配置

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

--volume ~/log4j.properties:/opt/solo/WEB-INF/classes/log4j.properties

皮肤配置

如果要使用其他皮肤,可以挂载目录 skins(里面需要包含所需使用的所有皮肤,官方所有皮肤可从这里下载):

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

版本升级

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

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

Docker Compose

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

ARM/树莓派镜像

docker pull clinan/solo

感谢 @Clinan 提供。

📜 文档

🏘️ 社区

📄 授权

Solo 使用 GNU Affero General Public License, Version 3 开源协议。

🙏 鸣谢


👍 开源项目推荐

  • 如果你需要搭建一个多用户博客平台,可以考虑使用 Pipe
  • 如果你需要搭建一个社区平台,可以考虑使用 Sym
  • 欢迎加入我们的小众开源社区,详情请看这里

solo's People

Contributors

88250 avatar vanessa219 avatar wangdx avatar mainlove avatar tslenmo avatar tomaer avatar ramos-dev avatar haorendashu avatar zephyrjung avatar hzchendou avatar armstrongcn avatar jiangzezhou1989 avatar 446541492 avatar dependabot[bot] avatar annpeter avatar luodaoyi avatar xinzhongtianxia avatar adlered avatar panjf2000 avatar lizhongyue248 avatar linkerlin avatar clinan avatar feroozkhanchintu avatar hging avatar luckygrass avatar xiaomogui avatar zeekling avatar itanken avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.