不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整理工具是非常重要的,常用的在线笔记比如说印象笔记,有道云笔记,当然企业中文档管理或者知识管理的专业版的软件也是有很多,比如说jira等。再到开源的,比如laverna、Boostnote等等,这两个开源的都是非常优秀的,都是支持markdown的这种文本方式。GitHub地址如下:
https://github.com/BoostIO
https://github.com/Laverna/laverna
并且这两个都支持windows mac linux三个平台的,Boostnote还支持IOS和Android,laverna,Laverna的Android版本也即将推出。
还有一个产品是leanote,这个产品也非常优秀,也是开源的,大家可以了解看看。
今天我们来看一个新兴的项目,wiki.js,GitHub地址如下:
之所以选择这个,是看中了它的易部署性,该项目是在2016年12月推出了第一个版本,算是比较新的项目了,现在也正在积极地更新,那么之所以选择这个项目作为小组的知识库管理,有这几点考虑:
- 可以直接部署在自己本地的服务器
- 有用户管理
- web的方式,方便使用
- 当然,markdown的写作方式也是我看中的
但是由于是新项目,里程碑可以直接在GitHub的项目ReadMe看到,现在有些功能还不够完善,也在后续的规划中,有兴趣的话,大家可以加入成为contributor哈!
好了废话不多说,我们来看下如何安装wiki.js吧!
首先,你需要docker的环境,有docker的话,就不管你是什么平台啦,windows、linux、mac通通不在话下,当然windows10可以直接安装docker,win7以及以前的只能使用toolbox进行安装,原因是docker是基于linux的,所以需要在linux环境下才可以,windows10是支持ubuntu core的所以可以直接安装。
这里我选择的是在ubuntu 14.04上进行安装,之前我写过一篇文章,关于如何在ubuntu上安装Docker,是直接通过apt-get install进行安装的,但是这个安装的版本比较旧,我们需要更新版本,这里我们选择安装官网的方式进行安装,这样得到的一定是最新版本的,官网的安装步骤是比较麻烦的,具体的安装流程请参考官网的说明:
这里最好是选择14.04或者是16.04或者是最新的LTS版本,以防因为系统的原因导致什么异常。一开始安装的出现了各种异常,包括Docker官方的SSL证书安装失败,无法连接之类的,这个是最好是重启下系统在进行重试。
然后需要安装下Docker Compose,这个也只需要参考官方的文档进行安装就可以了,官网写的很清楚。
这两部分大家就直接参考官网的直接进行安装就可以了,安装wiki.js的前提条件就是需要安装好docker和docker compose两个内容。
然后我们就可以进入安装wiki.js了,这个其实也比较简单,主要是说明下配置文件的使用。
首先我们在安装wiki.js时,我们需要确保,我们目录下有这几个文件
- config.yml : wiki的配置文件
- docker-compose.yml :docker-compose文件
这里说明下这两个文件的内容好了,这里可以选择直接参考官方的config.yml文件
https://github.com/Requarks/wiki/blob/master/config.sample.yml
这里仅说明几个需要注意的点:
1、host参数需要填写成你的服务器IP,如果不是默认端口,需要加上端口号
2、db参数需要修改成db: mongodb://localhost:27017/wiki –>> db: mongodb://wikidb:27017/wiki,因为如果localhost的话,docker-compose找不到这个服务,它是根据服务名来确定的访问的服务的
docker-compose.yml文件也可以直接参考官方的文件:
https://github.com/Requarks/wiki/blob/master/tools/docker-compose.yml
这里需要注意的是:
1、需要将端口号变更为你在docker-compose服务对应的端口和你实际想要的访问的端口
这里给出我在本地搭建的参考文件:
config.yml:
#######################################################################
# Wiki.js - CONFIGURATION #
#######################################################################
# Full explanation + examples in the documentation:
# https://docs.requarks.io/wiki/install
# You can use an ENV variable by using $(ENV_VAR_NAME) as the value
# ---------------------------------------------------------------------
# Title of this site
# ---------------------------------------------------------------------
title: Wiki
# ---------------------------------------------------------------------
# Full public path to the site, without the trailing slash
# ---------------------------------------------------------------------
# INCLUDE CLIENT PORT IF NOT 80/443!
host: http://192.168.1.6
# ---------------------------------------------------------------------
# Port the main server should listen to (80 by default)
# ---------------------------------------------------------------------
# To use process.env.PORT, comment the line below:
port: 80
# ---------------------------------------------------------------------
# Data Directories
# ---------------------------------------------------------------------
paths:
repo: ./repo
data: ./data
# ---------------------------------------------------------------------
# Upload Limits
# ---------------------------------------------------------------------
# In megabytes (MB)
uploads:
maxImageFileSize: 3
maxOtherFileSize: 100
# ---------------------------------------------------------------------
# Site Language
# ---------------------------------------------------------------------
# Possible values: en, de, es, fa, fr, ja, ko, nl, pt, ru, sr, sv, tr or zh
lang: en
# Enable for right to left languages (e.g. arabic):
langRtl: false
# ---------------------------------------------------------------------
# Site Authentication
# ---------------------------------------------------------------------
public: false
auth:
defaultReadAccess: true
local:
enabled: true
google:
enabled: false
clientId: GOOGLE_CLIENT_ID
clientSecret: GOOGLE_CLIENT_SECRET
microsoft:
enabled: false
clientId: MS_APP_ID
clientSecret: MS_APP_SECRET
facebook:
enabled: false
clientId: FACEBOOK_APP_ID
clientSecret: FACEBOOK_APP_SECRET
github:
enabled: false
clientId: GITHUB_CLIENT_ID
clientSecret: GITHUB_CLIENT_SECRET
slack:
enabled: false
clientId: 'SLACK_CLIENT_ID'
clientSecret: 'SLACK_CLIENT_SECRET'
ldap:
enabled: false
url: ldap://serverhost:389
bindDn: cn='root'
bindCredentials: BIND_PASSWORD
searchBase: o=users,o=example.com
searchFilter: (uid={{username}})
tlsEnabled: false
tlsCertPath: C:\example\root_ca_cert.crt
azure:
enabled: false
clientId: APP_ID
clientSecret: APP_SECRET_KEY
resource: '00000002-0000-0000-c000-000000000000'
tenant: 'YOUR_TENANT.onmicrosoft.com'
oauth2:
enabled: false
clientId: OAUTH2_CLIENT_ID
clientSecret: OAUTH2_CLIENT_SECRET
authorizationURL: OAUTH2_AUTH_URL
tokenURL: OAUTH2_TOKEN_URL
# ---------------------------------------------------------------------
# Secret key to use when encrypting sessions
# ---------------------------------------------------------------------
# Use a long and unique random string (256-bit keys are perfect!)
sessionSecret: 1234567890abcdefghijklmnopqrstuvxyz
# ---------------------------------------------------------------------
# Database Connection String
# ---------------------------------------------------------------------
db: mongodb://wikidb:27017/wiki
# ---------------------------------------------------------------------
# Git Connection Info
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
# Features
# ---------------------------------------------------------------------
# You can enable / disable specific features below
features:
linebreaks: true
mathjax: false
# ---------------------------------------------------------------------
# External Logging
# ---------------------------------------------------------------------
externalLogging:
bugsnag: false
loggly: false
papertrail: false
rollbar: false
sentry: false
# ---------------------------------------------------------------------
# Color Theme
# ---------------------------------------------------------------------
theme:
primary: indigo
alt: blue-grey
viewSource: all # all | write | false
footer: blue-grey
code:
dark: true
colorize: true
docker-compose.yml
version: '3'
services:
wikidb:
image: 'mongo'
expose:
- '27017'
command: '--smallfiles --bind_ip wikidb'
environment:
- 'MONGO_LOG_DIR=/dev/null'
volumes:
- ./data/mongo:/data/db
wikijs:
image: 'requarks/wiki:latest'
links:
- wikidb
depends_on:
- wikidb
ports:
- 80:80
environment:
WIKI_ADMIN_EMAIL: test@test.com
volumes:
- ./config.yml:/var/wiki/config.yml
然后执行 sudo docker-compose up,等到相关依赖安装完成,就可以运行啦!
默认账号是:test@test.com,密码是:admin123
赶快试试吧!