其实我曾经想用宝塔上的docker进行配置,但是奈何折腾半天就是有问题,便放弃了

misskey是个啥?


一个去中心化开源社交平台啦,作者是日本人(似乎很喜欢二次元),界面很好看。
因此,每个Misskey间账号不互通,但是可以互相交互


有兴趣可以去Misskey的官方实例注册个账号体验一下:https://misskey.xyz/ ,不需要邮箱之类的东西
我的一个实例: https://m.xn–8qvt52h.top/
此外,有一篇关于Misskey的介绍,写的很不错查看链接

材料

  1. 内存≥2G的limux服务器,不够的不用折腾了(此处使用Centos__
  2. 一个域名,必须要SSL(https),本文使用宝塔来获得SSL

正文

1.准备环境

安装一些必要软件

apt install curl git nginx -y

安装docker

bash <(curl -L -s https://get.docker.com)

这个官方指令能够自动安装docker,但是不会安装docker-compose,使用下方命令安装

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

2.安装misskey

2.1.配置docker设置

假设我们把misskey的docker镜像放在 ~/misskey 目录下

进入 ~/misskey ,参照以下样例新建 docker-compose.yml 文件( vim docker-compose.yml )。一般来说,不需要改动

version: "3"services:web:restart: always # 自动重启,请注意如果您对您的配置没有信心,请不要开启这个选项(把这一行注释即可),以避免进程崩溃反复重启耗费大量资源!image: misskey/misskey:latest # 我们使用misskey提供的官方镜像container_name: misskey_web # 容器名,就是个名字,方便辨认links:- db- redisports:- "127.0.0.1:3000:3000"  #默认映射到3000端口上networks:- internal_network- external_networkvolumes:- ./config:/misskey/.config:ro # 用于映射配置文件,请根据您的实际配置来决定文件夹名称,设定为只读即可- ./files:/misskey/files # 用户上传到本地的文件,如果您一开始就接入外部存储(如wasabi或是AWS S3)您可以忽略这块配置redis:restart: alwaysimage: redis:latestcontainer_name: misskey_redisnetworks:- internal_networkvolumes:- ./redis:/data # redis数据库的数据文件夹映射,创建后默认在 ./redis 文件夹中db:restart: alwaysimage: postgres:12.2-alpinecontainer_name: misskey_dbnetworks:- internal_networkenv_file:- ./config/docker.env # 需要使用配置文件中设置的 Docker 环境变量volumes:- ./db:/var/lib/postgresql/data # 主数据库的数据文件夹映射,创建后默认在 ./db 文件夹中networks:internal_network: # 内部网络internal: trueexternal_network: # 外部网络

2.2.配置misskey

~/misskey 创建目录 config

mkdir config

创建 default.yml 文件,该文件来自于 example.yml。源文件注释非常详细,且有很多功能,此教程只是为了让你运行起来misskey,所以删减了很多
内容如下,需要修改的地方已注明

# 修改成你的网站网址,一旦启用misskey,请勿更改
url: https://example.tld/
port: 3000db:host: db # 在docker环境下,此处应为dbport: 5432db: misskey# 数据库用户名和密码(需要修改)user: example-misskey-userpass: example-misskey-passredis:host: redis # 在docker环境下,此处应为redisport: 6379id: 'aid'

创建docker.env文件,用于记录环境变量。源文件来自于docker_example.env
修改example-misskey-pass为你上方文件中的数据库密码;修改example-misskey-user为你上方文件中的数据库用户名

POSTGRES_PASSWORD=example-misskey-pass
POSTGRES_USER=example-misskey-user
POSTGRES_DB=misskey

3.启动容器

回到~/misskey目录,初始化数据库
docker-compose run --rm web yarn run init

如果提示 yaml: line : mapping values are not allowed in this context 请检查配置文件里格式是否正确,我就在此死了几次…


启动容器

docker-compose up -d

此时我们还需要进行反向代理,此处使用宝塔更方便

不使用宝塔的话,可以参考 搭建一只Misskey实例–Candinya

添加一个站点,域名为你的网址,确保它已经解析到你的服务器!申请Let’s Encrypt证书,点击强制https

[warn]注意,Let’s Encrypt证书有效期3个月,请及时再次申请证书,否则网站无法再次访问。宝塔防火墙要放行端口3000[/warn]

配置以下反向代理,不出意外的话,就会在你的网址上看到Misskey啦!按照网页提示创建管理员即可


不知道为啥,在我一个原神服务器上,反向代理是不生效的…

可用 docker-compose stop 停止容器

4.更新容器

  1. ~/misskey 下,运行
docker-compose pull
docker-compose up -d

请不要使用docker-compose stop来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

  1. 删除旧数据
docker system prune

要求确认时输入y并回车确认即可

  1. 进阶操作

例如我们可以编写一个脚本,配合crontab每天定时尝试拉取最新数据并更新;如果已经是最新版本了的话,那就无事发生

docker-compose -f /root/misskey/docker-compose.yml pull
docker-compose -f /root/misskey/docker-compose.yml up -d
docker system prune -f

参考资料
使用Docker最小化部署Misskey–Candinya–糖菓·部落
搭建一只Misskey实例–Candinya–糖菓·部落

用Docker简单部署 Misskey 去中心化开源社交平台相关推荐

  1. 去中心化开源社交平台Misskey

    本文是应网友 anthony084 的要求写的: 什么是 Misskey ? Misskey 是一个开源.去中心化的社交媒体平台,发帖方式类似于微博和推特. 去中心化则意味着一个 Misskey 实例 ...

  2. 去中心化隐私社交平台的十大金刚

    最近各大平台开放IP属地,争议还是蛮大的,大部分人都觉得侵犯了自己的隐私.网友开玩笑说道:"开放IP地址算啥呀,你应该直接报我身份证得了".我笑完之后,开始脊背发凉.互联网之下我们 ...

  3. 快速搭建去中心化视频分享平台peertube

    ## 简介 peertube 是一款开源的去中心化视频分享平台,你可以用peertube创建属于自己的实例,相较于传统的视频平台,peertube最大的优点就是采用webtorrent技术,网站管理员 ...

  4. 势不可挡的DeFi浪潮与去中心化开源协议Hydra Network

    根据链上数据资源网站DeFi Pulse的统计数据,去中心化金融(DeFi)协议锁定的美元总值近日突破了60亿美元大关.目前,这一数字停留在63.2亿美元,相比三个月前刚突破的10亿美元大关,增长了近 ...

  5. 去中心化电商平台调研报告

    一.已有应用调研 eBay或淘宝这样的C2C电商平台已经获得了巨大成功,因为它使得买卖双方都相当便利: 在互联网成为主流之前,人们只能在小范围内.或者在邻里之间买卖商品.当越来越多的人使用互联网, 出 ...

  6. 完全免费的基于区块链和 IPFS 的去中心化博客平台

    一.前言 xLog是一个基于Crossbell区块链的博客解决方案,专注于Web3数据由用户掌控.Crossbell是一个基于Web3技术的去中心化博客平台,用户可以在该平台上发布文章并进行交流和创作 ...

  7. The Generalist和Visualize Value在去中心化内容发布平台Mirror上发起众筹

    群体博客The Generalist联合Visualize Value的Jack Butcher在去中心化内容发布平台Mirror上发起众筹,此次众筹目标额度为20 ETH,每人上限为0.25 ETH ...

  8. 去中心化交易聚合平台ParaSwap将平台交易gas费成本降低约 20%

    去中心化交易聚合平台ParaSwap宣布已将平台交易gas费成本降低约20%,具体来说,用户使用Monolith应用进行代币交易时,gas会更加便宜,在应用内进行法币到DAI的交易时,手续费为零.Pa ...

  9. 去中心化的社交媒体应用案例

    ** 去中心化的社交媒体应用案例 ** 当社交媒体网络不断收集个人数据,行为和习惯时,用户就会失去对隐私的控制.尽管可以根据个性化提供推荐等服务带来好处,但是用户仍然无法清楚地知道被收集了那些数据以及 ...

最新文章

  1. 理解Android系统的进程间通信原理(二)----RPC机制
  2. js原型prototype属性用法实例
  3. LeetCode Interleaving String(动态规划)
  4. 计算机视觉与深度学习 | 视觉SLAM详解及应用(中文版)
  5. 工作中常用到的一些方法集合
  6. Object family 在Object search中的default逻辑
  7. 一篇来自前端同学对后端接口的吐槽
  8. 女博士年薪156万入职华为!实力演绎美貌与智慧并重
  9. python无所不能_python-列表
  10. 重复数据_MongoDB 自动过滤重复数据
  11. python2和3安装后怎样切换 mac_Mac下安装配置Python2和Python3并相互切换使用
  12. 图像处理求均方差得c语言实现,数字图像处理第10章课件.ppt
  13. Java程序员必读书籍推荐
  14. matlab拟合多自变量函数,多个自变量的函数拟合问题
  15. r5 7530u和r7 5825u差距 r57530u和r75825u对比
  16. Python采集常用:谷歌浏览器驱动——Chromedriver 插件安装教程
  17. STM32定时器捕获编码器模式测速和方向测不准问题
  18. Springboot毕业设计毕设作品,心理评测系统 开题报告
  19. 设置网站ico图标的两种方法
  20. HDLBits-Circuits学习小结(八)有限状态机进阶(Lemmings、Onehot FSM、PS/2 packet parser)

热门文章

  1. 解决ORACLE11在WIN10系统的中文乱码问题
  2. 第63天学习打卡(MySQL 测试索引 索引原则 数据管理和备份 规范数据库设计)
  3. 低学历不能入户广州?拿到这个证书即可落户。
  4. 程超:手把手教你动手扩展分布式调用链
  5. java 异步调用 事务_深入理解Spring注解@Async解决异步调用问题
  6. QC(质量控制)图,新旧七图汇总连载(什么是因果图、树状图、直方图……)
  7. linux的驱动模块,ubuntu linux 驱动模块的使用
  8. 树莓派硬件介绍及配件选择
  9. SpringCloud整合spring security+ oauth2+Redis实现认证授权
  10. c语言1999国际标准,月光软件站 - 编程文档 - 软件工程 - C语言国际标准 ISO/IEC 9899:1999(E) 翻译(一):目录...