Giter Club home page Giter Club logo

solo's Introduction

Solo

小而美的博客系统,为未来而构建





        

简介

Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。

案例

功能

界面

开始使用

start

后台首页

console

编辑文章

post

选择皮肤

skins

前台界面

pinghsu

皮肤

安装

本地试用

下载最新的 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 

    为了简单,使用了主机网络模式来连接主机上的 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 

启动参数说明:

  • --listen_port:进程监听端口
  • --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • --server_host:最终访问域名或公网 IP,不要带端口号

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

Docker 升级

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

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

Docker Compose

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

文档

社区

授权

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

鸣谢


开源项目推荐

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

solo's People

Contributors

446541492 avatar 88250 avatar annpeter avatar armstrongcn avatar feroozkhanchintu avatar haorendashu avatar hging avatar hzchendou avatar itanken avatar jiangzezhou1989 avatar linkerlin avatar lizhongyue248 avatar luckygrass avatar luodaoyi avatar mainlove avatar ramos-dev avatar tomaer avatar tslenmo avatar vanessa219 avatar wangdx avatar xiaomogui avatar xinzhongtianxia avatar zephyrjung avatar

Watchers

 avatar  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.