You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确保IPFS daemon持续存活?单节点IPFS应用运维求助

Keep Your IPFS Daemon Running Automatically After Crashes

Got it, let's tackle this problem—keeping your IPFS daemon up and running reliably, even when it crashes, especially since you're currently using tmux. Here are a few practical, battle-tested approaches you can implement right away:

Systemd is built into most modern Linux distros and is designed to manage long-running services with automatic restart capabilities. This is the most robust solution for keeping your IPFS daemon alive.

  • Create a systemd service file:
    sudo nano /etc/systemd/system/ipfs-daemon.service
    
  • Paste the following content (replace your_username with your actual user account):
    [Unit]
    Description=IPFS Daemon
    After=network.target
    
    [Service]
    User=your_username
    ExecStart=/usr/local/bin/ipfs daemon
    Restart=always
    RestartSec=5
    StandardOutput=journal+console
    StandardError=journal+console
    
    [Install]
    WantedBy=multi-user.target
    
  • Save and exit the editor, then reload systemd and start the service:
    sudo systemctl daemon-reload
    sudo systemctl enable --now ipfs-daemon.service
    
  • Check the service status or view logs anytime:
    # Check if the daemon is running
    systemctl status ipfs-daemon
    
    # View real-time logs
    journalctl -u ipfs-daemon -f
    

Systemd will automatically restart the daemon if it crashes, hangs, or exits for any reason.

2. Shell Script + Tmux

If you prefer sticking with tmux, a simple loop script can handle automatic restarts for you.

  • Create a restart script (e.g., ipfs-auto-restart.sh):
    nano ipfs-auto-restart.sh
    
  • Add this loop logic:
    #!/bin/bash
    while true; do
        echo "[$(date)] Starting IPFS daemon..."
        # Run the daemon with debug logging to help diagnose crashes later
        ipfs daemon --debug
        echo "[$(date)] IPFS daemon exited. Restarting in 5 seconds..."
        sleep 5
    done
    
  • Make the script executable:
    chmod +x ipfs-auto-restart.sh
    
  • Run it in a tmux session (you can detach and leave it running in the background):
    # Create a new detached tmux session named "ipfs" running the script
    tmux new-session -d -s ipfs './ipfs-auto-restart.sh'
    
    # Reattach to the session later to check logs
    tmux attach -t ipfs
    

Now, every time the daemon crashes, the script will wait 5 seconds and restart it automatically.

3. Use Supervisor (Cross-Platform Option)

Supervisor is a process control system that works across Linux distros and macOS, making it a flexible alternative if systemd isn't an option.

  • Install Supervisor:
    # Debian/Ubuntu
    sudo apt install supervisor
    
    # macOS (with Homebrew)
    brew install supervisor
    
  • Create a Supervisor config file:
    # Linux:
    sudo nano /etc/supervisor/conf.d/ipfs.conf
    
    # macOS:
    nano /usr/local/etc/supervisor.d/ipfs.ini
    
  • Add this configuration (replace your_username):
    [program:ipfs-daemon]
    command=ipfs daemon --debug
    user=your_username
    autostart=true
    autorestart=true
    startretries=3
    stdout_logfile=/var/log/ipfs-daemon.log
    stderr_logfile=/var/log/ipfs-daemon.err.log
    
  • Reload Supervisor and start the service:
    # Linux
    sudo supervisorctl reread
    sudo supervisorctl update
    sudo supervisorctl start ipfs-daemon
    
    # macOS
    brew services restart supervisor
    supervisorctl start ipfs-daemon
    
  • Check the daemon status:
    supervisorctl status ipfs-daemon
    

Bonus: Diagnose the Root Cause

While automatic restarts will keep your service running, it's worth figuring out why the daemon is crashing in the first place. Enable debug logging (as shown in the script and config examples) and check the logs—this might reveal issues like memory limits, network problems, or corrupted IPFS repo data. If you spot errors, you can address them to prevent crashes entirely.

内容的提问来源于stack exchange,提问作者Vasia Kotov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:03:22