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: /etc/systemd/user/
or ~/.config/systemd/user/
however one can always choose /etc/systemd/system/
.
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
/etc/systemd/system/ipfs-daemon.service
[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
Testing
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
Conclusion
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.
There is no comment system. If you want to contact me about this article, you can do so via e-mail or Mastodon.