openP2P 文档
使用systemd服务
Section titled “使用systemd服务”# 创建docker-compose.yml文件sudo nano /etc/openp2p/docker-compose.yml
# 写入以下内容services: openp2p: image: openp2pcn/openp2p-client:3.24.35 container_name: openp2p-client restart: always network_mode: host privileged: true cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun environment: - OPENP2P_TOKEN=xxx# 创建服务文件sudo nano /etc/systemd/system/openp2p.service
# 写入以下内容# 确保iptables规则存在(PS: 使用iptables -C检查规则是否已存在, 仅在规则不存在时才添加,避免重复添加导致错误)[Unit]Description=OpenP2P Client ServiceAfter=docker.serviceRequires=docker.service
[Service]Type=oneshotRemainAfterExit=yesExecStartPre=/bin/sleep 10ExecStart=/bin/bash -c 'docker compose -f /etc/openp2p/docker-compose.yml up -d'ExecStartPost=/bin/bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'ExecStartPost=/bin/bash -c 'iptables -t filter -C FORWARD -i optun -j ACCEPT 2>/dev/null || iptables -t filter -I FORWARD -i optun -j ACCEPT'ExecStartPost=/bin/bash -c 'iptables -t filter -C FORWARD -o optun -j ACCEPT 2>/dev/null || iptables -t filter -I FORWARD -o optun -j ACCEPT'
[Install]WantedBy=multi-user.target
# 启用并启动服务sudo systemctl daemon-reloadsudo systemctl enable openp2p.servicesudo systemctl start openp2p.service
# 检查服务状态sudo systemctl status openp2p.service额外建议:环境变量配置
Section titled “额外建议:环境变量配置”为了确保$OPENP2P_TOKEN环境变量在系统启动时可用,建议将其添加到/etc/environment:
# 运行以下命令添加环境变量echo "OPENP2P_TOKEN=xxx" | sudo tee -a /etc/environment