如何部署一个自己的misskey实例
134
2023-09-15
如何部署一个misskey实例以及注意事项
一、官网介绍
misskey的特点:
- 开源:Misskey 是一个开源的项目,任何人都可以自由使用,也可以贡献自己的一份力量来修补源码
- 分布式:Misskey 是一个去中心化的分布式社交平台,不同服务器的 Misskey 实例可以连结在一起,共享帖子。
- 功能强大:Misskey 拥有多种独特功能,新手可以快速上手,开发者可以开发更多进阶功能。
- 高度自定化:Misskey 拥有高度可自定义的前段页面,可以制作自己喜欢的布局和主题。
二、部署misskey
注意事项
- 确保 docker 和 docker-compose 已经安装
- 在部署之前想好域名,一旦部署完成,域名就不能更改了
正式安装
将 Misskey 克隆至本地并同步 master
cd /home
git clone -b master https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
创建配置文件
cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml
修改配置文件
一般来说,只需要修改 .config/default.yml 文件即可,文件内有详细的注释。
这里修改的是docker-compose.yml文件
version: "3"
services:
web:
build: .
restart: always
links:
- db
- redis
# - meilisearch
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
ports:
- "127.0.0.1:外部端口:容器内部端口"
networks:
- internal_network
- external_network
volumes:
- ./files:/misskey/files
- ./.config:/misskey/.config:ro
redis:
restart: always
image: redis:7-alpine
ports:
- "127.0.0.1:6379:6379"
networks:
- internal_network
- external_network
volumes:
- ./redis:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
db:
restart: always
image: postgres:15-alpine
ports:
- "127.0.0.1:5432:5432"
networks:
- internal_network
- external_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
# meilisearch:
# restart: always
# image: getmeili/meilisearch:v1.1.1
# environment:
# - MEILI_NO_ANALYTICS=true
# - MEILI_ENV=production
# env_file:
# - .config/meilisearch.env
# networks:
# - internal_network
# volumes:
# - ./meili_data:/meili_data
networks:
internal_network:
internal: true
external_network:
注意:这里的端口设置要和default.yml文件中的端口设置一致,外部端口则是你自定义的
编译、初始化和启动
sudo docker compose build
sudo docker compose run --rm web pnpm run init
sudo docker compose up -d
到这里,misskey就部署完成了,但是还不能直接使用,还需要配置nginx,这里就不再赘述了
三、misskey的使用
接入中继服务器
这里就不直接放出地址了,自行谷歌
清理冗余数据
在接入中继后,服务器上会产生大量的冗余数据,这些数据会占用大量的磁盘空间,所以需要定期清理
我找了很久,最后找到了一个脚本mkcl,可以定期清理冗余数据
cd /home/misskey
git clone https://github.com/ybw2016v/mkcl.git
cd mkcl
pip3 install -r requirements.txt
python3 mkcl.py -d 5 -c /home/misskey/.config/default.yml -s 2020-12-01
这里 -d 参数的意思是结束时间距离现在的天数,-s 参数的意思是开始时间,这里的时间格式是年-月-日
由于是使用容器部署的,所以脚本运行其实是不能直接使用default.yml文件的,因为端口号不一样,所以需要修改一下,端口号可以改为前面docker-compose.yml文件中的外部端口号。可以拷贝一份default.yml文件,命名为cl.yml,然后修改端口号,然后将脚本中的default.yml文件改为新的文件名即可
最后
- 1
- 0
-
分享