IPFS or Interplanetary File System allows you to distribute Files and thus Websites and Videos over a distributed Net much like the Torrent Network. In order to use it on your machine you have to compile it manually or use a precompiled Version from the website. However the Binarys and the github Repo are lacking a SystemD unit file.
Writing the Files
A socket activated unit needs two files: a Socket file and a Unit file. But first of all: Where should a user generated systemd file live? For user created unit files there are two places to choose from:
~/.config/systemd/user/ however one can always choose
So wherever you want to save your file here is what they should look like:
Initiate the Repo
If you are using ipfs for the first time you need to Initiate the Repo via
ipfs init - you could also decide to use a service user for ipfs
Writing the service file
[Unit] Description=IPTS Daemon Service [Service] Type=simple ExecStart=/usr/local/bin/ipfs daemon User=**The User you initialized the service with** [Install] WantedBy=multi-user.target
As privileged user reload the systemctl daemon via
systemctl daemon-reload to load the new service files.
Next activate the socket file via
systemctl enable ipfs-daemon.service --now and verify that the service is running
systemctl status ipfs-dameon.service
Writing a systemD Unit is quite simple. An advanced topic would be socket activation. Thus only starting the service when the specified socket is called.