【Docker】配置wiki js

wikijs是一个在线多人协作(带git版本管理)的wiki套件

相比于其他wiki的展示功能为主,wikijs将权限管理+多人协作作为了首个要素,其支持富文本编辑器/mardown编辑器/html源码编辑

本文首发于 慕雪的寒舍

1.Docker-cli部署

在云服务器安装 https://docs.requarks.io/install/ubuntu

可以跟着官方的指令走,下面节选了最终3个创建容器的命令


配置密钥

mkdir -p /etc/wiki

# Generate DB secret
openssl rand -base64 32 > /etc/wiki/.db-secret

# Create internal docker network
docker network create wikinet

# Create data volume for PostgreSQL
docker volume create pgdata

配置数据库

docker create \
--name=db \
-e POSTGRES_DB=wiki \
-e POSTGRES_USER=wiki \
-e POSTGRES_PASSWORD_FILE=/etc/wiki/.db-secret \
-v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro \
-v pgdata:/var/lib/postgresql/data \
--restart=unless-stopped \
-h db \
--network=wikinet \
postgres:11

配置主容器

docker create --name=wiki \
-e DB_TYPE=postgres \
-e DB_HOST=db \
-e DB_PORT=5432 \
-e DB_PASS_FILE=/etc/wiki/.db-secret \
-v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro \
-e DB_USER=wiki \
-e DB_NAME=wiki \
-e UPGRADE_COMPANION=1 \
--restart=unless-stopped \
-h wiki \
--network=wikinet \
-p 3000:3000 -p 3443:3443 \
ghcr.io/requarks/wiki:2

升级伴侣

docker create \
--name=wiki-update-companion \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart=unless-stopped \
-h wiki-update-companion \
--network=wikinet \
ghcr.io/requarks/wiki-update-companion:latest

配置防火墙

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

sudo ufw --force enable

运行容器

docker start db
docker start wiki
docker start wiki-update-companion

到这一步,就可以用3000端口访问了

2.docker-compose部署(推荐)

https://docs.requarks.io/install/docker

docker-compose最好的一点就是方便管理,不需要单独管理上面的3个容器,而是用一条命令就能同时启停容器

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data

  wiki:
    image: ghcr.io/requarks/wiki:2
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "80:3000"

volumes:
  db-data:

3.配置证书let’s encrpy

配置证书需要多指定两个环境变量,分别是你的域名以及用于申请证书的邮箱

-e "LETSENCRYPT_DOMAIN=wiki.example.com" \
-e "LETSENCRYPT_EMAIL=admin@example.com" \
-p 443:3443

如果不这么做,则需要在nginx反向代理上配置证书

4.评论

默认的评论连回复都不支持,也没有一个管理页面和通知,如果要把wiki展示出来,这样就非常不方便

建议配置一下artalk评论系统 教程

您可以通过基于Alpine Linux的Docker映像来安装WIKI。首先,您需要构建一个Docker映像,其中包含安装了WIKI的相关组件和配置。您可以使用以下命令构建映像: ```shell docker build -t your_wiki_image . ``` 然后,您可以运行该映像来启动WIKI容器: ```shell docker run -d -p 8080:8080 your_wiki_image ``` 这将在本地的8080端口上启动WIKI服务。您可以通过访问http://localhost:8080来访问您的WIKI网站。 如果您想要备份您的WIKI数据,您可以通过编写一个shell脚本来将生成的备份文件传输到备份机器上。首先,在主机上创建一个脚本: ```shell #!/bin/bash dateLog=$(date +%F) mark="_" dateLog=${dateLog//-/$mark} docker cp confluence:/var/atlassian/confluence/backups/backup-"$dateLog".zip /opt/wiki/backups/backup-"$dateLog".zip sleep 1 sshpass -p your_server_password scp "/opt/wiki/backups/backup-"$dateLog".zip" root@your_backup_ip:"/opt/backup/wiki/backup-"$dateLog".zip" ``` 这个脚本将生成一个指定日期格式的备份文件,并将其从WIKI容器复制到主机上的指定备份文件夹中。然后,它使用scp命令将备份文件传输到备份机器上。 接下来,在备份机器上创建另一个shell脚本来将主机传来的备份文件拷贝到WIKI容器的指定备份文件夹中: ```shell #!/bin/bash dateLog=$(date +%F) mark="_" dateLog=${dateLog//-/$mark} docker cp /opt/backup/wiki/backup/backup-"$dateLog".zip confluence:/var/atlassian/confluence/restore/backup.zip sleep 2 rm -r /opt/backup/wiki/backup/backup-"$dateLog".zip ``` 这个脚本将从主机上的指定备份文件夹中复制备份文件到WIKI容器的指定备份文件夹中,并在复制完成后删除主机上的备份文件。 通过以上步骤,您可以使用Docker安装WIKI,并设置备份机制来保护您的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker-dokuwiki:基于Alpine Linux和Nginx的DokuWiki Docker映像](https://download.csdn.net/download/weixin_42127775/18312677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker安装wiki系统文件主从备份(该文档没有wiki部署描述)](https://blog.csdn.net/Lth520303/article/details/129418185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕雪华年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值