Dotfiles from time before I knew the word dotfiles, but the name has stuck.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.8KB

  1. [Unit]
  2. Description=IPFS daemon
  3. After=network.target
  4. # IMPORTANT! If you are running on a VPS/dedicated/similar
  5. # `ipfs init --profile=server` or immediately after setting it up
  6. # `ipfs profile apply server`.
  7. # I would probably recommend `ipfs init --profile=badgerds && ipfs profile apply server`
  8. # REF: https://github.com/ipfs/go-ipfs/issues/4343 "Running IPFS on VPS
  9. # providers triggers netscan detection, risking account termination"
  10. [Service]
  11. ExecStart=/home/mikaela/go/bin/ipfs daemon --routing=dht --enable-gc --enable-namesys-pubsub
  12. # My attempts at explaining flags above + --mount for fuse
  13. # --mount - fuse for /ipfs and /ipns, see
  14. # https://github.com/ipfs/go-ipfs/blob/master/docs/fuse.md as it requires
  15. # some specific config, I am not setting it as default here.
  16. # --routing=dht - server requests to the network possibly using more
  17. # bandwidth but also making content more findable (as opposed to
  18. # dhtclient, not serving requests to the network saving bandwidth)
  19. # --enable-gc - automatic cleaning of unpinned files per rules in ipfs
  20. # config, I think by default two hours or when the repo gets bigger than
  21. # 10G
  22. # --enable-namesys-pubsub - real time previously cached ipns updates
  23. #
  24. # My specific config:
  25. # ipfs config Reprovider.Strategy pinned - advertise only pinned files
  26. # to the network to reduce connections instead of also cached content
  27. # (which they will still be able to download, see ipfs/go-ipfs#4145)
  28. # ipfs config Swarm.ConnMgr.GracePeriod 1s - to get rid of excess
  29. # connections quickly
  30. # ipfs config --json Swarm.ConnMgr.HighWater 40 - attempt to stay below 40
  31. # connections
  32. # ipfs config --json Swarm.ConnMgr.LowWater 20 - attempt to keep at least
  33. # 20 connections
  34. # ipfs config --json Swarm.EnableAutoRelay true - if impassable NAT is
  35. # detected, connect to the network through relays that have configured
  36. # themselves as open (EnableAutoNATService & EnableRelayHop?)
  37. # ipfs config --json Experimental.QUIC true - QUIC support, remember to
  38. # edit swarm addresses to include /ip4/0.0.0.0/udp/4001/quic
  39. # /ip6/::/udp/4001/quic
  40. # ipfs config --json Experimental.FilestoreEnabled true - for ipfs add
  41. # --nocopy to not store the content twice on disc
  42. #
  43. # Routing note: dhtclient may cause problems making the content findable
  44. # even if it uses less bandwitdh, so it may be better to use
  45. # dht everywhere if that isn't a problem. dht also breaks
  46. # LowWater/HighWater limits.
  47. #
  48. # I am using badger datastore.
  49. #
  50. # Extra: to disable IPv4 connections:
  51. # ipfs swarm filters add /ip4/0.0.0.0/ipcidr/0
  52. # However I think this may do more harm than good, especially if the
  53. # other config options above (especially Reprovider.Strategy pinned) keep
  54. # amount of connection tolerable and won't cause issues.
  55. #
  56. Restart=on-failure
  57. User=mikaela
  58. [Install]
  59. WantedBy=default.target