IPFS 安装
项目地址: https://github.com/ipfs/go-ipfs/
官方文档: https://docs.ipfs.io/ [GFW…]
个人部署: https://ipfs-doc.fiix.one [基于cf+ipfs网络分发]
IPNS地址: /ipns/ipfs-doc.fiix.one [自行选择支持的网关]
一. 一键安装
1
|
curl -sL https://sh.fiix.one/ipfs_install.sh | sudo bash -
|
二. Bash自动补齐
1
|
source /etc/bash_completion.d/ipfs
|
1
2
|
[root@ipfs ~]# source /etc/bash_completion.d/ipfs
bash: complete: nosort: 无效的选项名
|
1
|
vim /etc/bash_completion.d/ipfs
|
1
2
|
#complete -o nosort -o nospace -o default -F _ipfs ipfs
complete -o nospace -o default -F _ipfs ipfs
|
1
|
source /etc/bash_completion.d/ipfs
|
三. 配置IPFS运行用户/文件路径
IPFS默认文件路径为/root/.ipfs/
1. 停止ipfs daemon 进程
1
|
systemctl stop ipfs-daemon
|
2. 转移ipfs 配置及文件
1
2
3
|
sudo mv /root/.ipfs/ /srv/ipfs/
## 更改自定义用户
sudo chown your-user: /srv/ipfs
|
3. 编辑ipfs-daemon.service 文件
1
|
sudo vim /etc/systemd/system/ipfs-daemon.service
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[Unit]
Description=IPFS daemon
After=network.target
[Service]
User=root
# 如非root用户请自定义
Group=root
# 如非root用户请自定义
LimitCPU=infinity
LimitFSIZE=infinity
LimitDATA=infinity
LimitSTACK=infinity
LimitCORE=infinity
LimitRSS=infinity
LimitNOFILE=infinity
LimitAS=infinity
LimitNPROC=infinity
LimitMEMLOCK=infinity
LimitLOCKS=infinity
LimitSIGPENDING=infinity
LimitMSGQUEUE=infinity
LimitRTPRIO=infinity
LimitRTTIME=infinity
Environment=IPFS_PATH=/srv/ipfs/
# 可自定义ipfs根文件储存位置 eg:/srv/ipfs 注意修改权限与上面用户一致
ExecStart=/usr/local/bin/ipfs daemon --enable-gc --enable-pubsub-experiment
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
|
1
2
|
sudo systemctl daemon-reload
sudo systemctl start ipfs-daemon
|
1
2
|
sudo echo 'IPFS_PATH="/srv/ipfs/"' >> /etc/environment
source /etc/environment
|
四. 防火墙放行/端口转发
- 在路由器端配置公网
4001 tcp/udp
转发至服务器主机4001 tcp/udp
1
2
3
|
sudo firewall-cmd --zone=public --add-port=4001/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4001/udp --permanent
sudo firewall-cmd --reload
|
- 如需对外或内网设备提供网关功能/开启API等操作
- 需酌情开启端口转发及服务器防火墙端口
5001/API
/8080/Gateway
- 注意: 需配置
$IPFS_PATH/config
文件中的相关选项