1. 为什么选择Misskey?
2. 针对人群:
3. 可能产生的花费:
4. 会有后续维护成本,包括但不限于:
sudo passwd root #设置root用户密码,务必记住密码 su root #换成root用户登录,输入刚刚设置的密码 mkdir /etc/nginx/ssl/misskey #创建一个新目录 nano /etc/nginx/ssl/misskey/sever_name.pem #sever_name改成你的域名
apt install git curl nginx -y
bash <(curl -L -s https://get.docker.com)
curl -L "https://github.com/docker/compose/releases/download/1.27.4/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
git clone -b master git://github.com/syuilo/misskey.git
cd misskey
git checkout master
cd .config cp example.yml default.yml cp docker_example.env docker.env
cd ~/misskey
version: "3"
services:
web:
# build: .
image: misskey/misskey:latest #自动更新
restart: always
links:
- db
- redis
# - es
ports:
- "127.0.0.1:3000:3000"
networks:
- internal_network
- external_network
volumes:
- ./files:/misskey/files
- ./.config:/misskey/.config #卷映射
redis:
restart: always
image: redis:latest
networks:
- internal_network
volumes:
- ./redis:/data
db:
restart: always
image: postgres:12.2-alpine
networks:
- internal_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
# es:
# restart: always
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# networks:
# -internal_network
# volumes:
# - ./elasticsearch:/usr/share/elasticsearch/data
networks:
internal_network:
internal: ture
external_network:
docker-compose build
service docker start
docker-compose run --rm web yarn run init
docker-compose up -d
nano /etc/nginx/conf.d/misskey.conf
根据以下代码做适当修改
# Sample nginx configuration for Misskey
#
# 1. Replace example.tld to your domain
# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/
# or copy to /etc/nginx/conf.d/
# For WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_tem$
server {
listen 80;
listen [::]:80;
server_name f.jymuoyu.com; #你的域名
return 301 https://$host$request_uri;
# For SSL domain validation
root /var/www/html;
location /.well-known/acme-challenge/ { allow all; }
location /.well-known/pki-validation/ { allow all; }
location / { return 301 https://$server_name$request_uri; }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name f.jymuoyu.com; #你的域名
ssl_session_cache shared:ssl_session_cache:10m;
# To use Let's Encrypt certificate
ssl_certificate /etc/v2ray/rss.jymuoyu.pem; #你的ssl证书存放路径
ssl_certificate_key /etc/v2ray/rss.jymuoyu.key;
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
# SSL protocol settings
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SH$
ssl_prefer_server_ciphers on;
# Change to your upload limit
client_max_body_size 80m; #上传文件的最大限制
# Proxy to Node
location / {
proxy_pass http://127.0.0.1:3000;
proxy_cache_bypass $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_http_version 1.1;
proxy_redirect off;
# For WebSocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Cache settings
proxy_cache cache1;
proxy_cache_lock on;
proxy_cache_use_stale updating;
add_header X-Cache $upstream_cache_status;
}
}
docker-compose run --rm web node built/tools/mark-admin @example #example换成你的用户名