Skip to content

Commit 2a20180

Browse files
UnkwUsrJorropo
authored andcommitted
chore(misc/README.md): trim duplicated content
1 parent b8e3930 commit 2a20180

File tree

1 file changed

+0
-124
lines changed

1 file changed

+0
-124
lines changed

misc/README.md

Lines changed: 0 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -120,130 +120,6 @@ The reason for running `ipfs` under a shell is to avoid needing to hard-code the
120120

121121
Notes:
122122

123-
- To check that the job is running, run `launchctl list | grep ipfs`.
124-
- IPFS should now start whenever you log in (and exit when you log out).
125-
- [LaunchControl](http://www.soma-zone.com/LaunchControl/) is a GUI tool which simplifies management of LaunchAgents.## init system integration
126-
127-
go-ipfs can be started by your operating system's native init system.
128-
129-
- [systemd](#systemd)
130-
- [LSB init script](#initd)
131-
- [Upstart/startup job](#upstart)
132-
- [launchd](#launchd)
133-
134-
### systemd
135-
136-
For `systemd`, the best approach is to run the daemon in a user session. Here is a sample service file:
137-
138-
```systemd
139-
[Unit]
140-
Description=IPFS daemon
141-
142-
[Service]
143-
# Environment="IPFS_PATH=/data/ipfs" # optional path to ipfs init directory if not default ($HOME/.ipfs)
144-
ExecStart=/usr/bin/ipfs daemon
145-
Restart=on-failure
146-
147-
[Install]
148-
WantedBy=default.target
149-
```
150-
151-
To run this in your user session, save it as `~/.config/systemd/user/ipfs.service` (creating directories as necessary). Once you run `ipfs init` to create your IPFS settings, you can control the daemon using the following commands:
152-
153-
* `systemctl --user start ipfs` - start the daemon
154-
* `systemctl --user stop ipfs` - stop the daemon
155-
* `systemctl --user status ipfs` - get status of the daemon
156-
* `systemctl --user enable ipfs` - enable starting the daemon at boot
157-
* `systemctl --user disable ipfs` - disable starting the daemon at boot
158-
159-
*Note:* If you want this `--user` service to run at system boot, you must [`enable-linger`](http://www.freedesktop.org/software/systemd/man/loginctl.html) on the account that runs the service:
160-
161-
```
162-
# loginctl enable-linger [user]
163-
```
164-
Read more about `--user` services here: [wiki.archlinux.org:Systemd ](https://wiki.archlinux.org/index.php/Systemd/User#Automatic_start-up_of_systemd_user_instances)
165-
166-
### initd
167-
168-
- Here is a full-featured sample service file: https://github.com/dylanPowers/ipfs-linux-service/blob/master/init.d/ipfs
169-
- Use `service` or your distribution's equivalent to control the service.
170-
171-
## upstart
172-
173-
- And below is a very basic sample upstart job. **Note the username jbenet**.
174-
175-
```
176-
cat /etc/init/ipfs.conf
177-
```
178-
```
179-
description "ipfs: interplanetary filesystem"
180-
181-
start on (local-filesystems and net-device-up IFACE!=lo)
182-
stop on runlevel [!2345]
183-
184-
limit nofile 524288 1048576
185-
limit nproc 524288 1048576
186-
setuid jbenet
187-
chdir /home/jbenet
188-
respawn
189-
exec ipfs daemon
190-
```
191-
192-
Another version is available here:
193-
194-
```sh
195-
ipfs cat /ipfs/QmbYCwVeA23vz6mzAiVQhJNa2JSiRH4ebef1v2e5EkDEZS/ipfs.conf >/etc/init/ipfs.conf
196-
```
197-
198-
For both, edit to replace occurrences of `jbenet` with whatever user you want it to run as:
199-
200-
```sh
201-
sed -i s/jbenet/<chosen-username>/ /etc/init/ipfs.conf
202-
```
203-
204-
Once you run `ipfs init` to create your IPFS settings, you can control the daemon using the `init.d` commands:
205-
206-
```sh
207-
sudo service ipfs start
208-
sudo service ipfs stop
209-
sudo service ipfs restart
210-
...
211-
```
212-
213-
## launchd
214-
215-
Similar to `systemd`, on macOS you can run `go-ipfs` via a user LaunchAgent.
216-
217-
- Create `~/Library/LaunchAgents/io.ipfs.go-ipfs.plist`:
218-
219-
```xml
220-
<?xml version="1.0" encoding="UTF-8"?>
221-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
222-
<plist version="1.0">
223-
<dict>
224-
<key>KeepAlive</key>
225-
<true/>
226-
<key>Label</key>
227-
<string>io.ipfs.go-ipfs</string>
228-
<key>ProcessType</key>
229-
<string>Background</string>
230-
<key>ProgramArguments</key>
231-
<array>
232-
<string>/bin/sh</string>
233-
<string>-c</string>
234-
<string>~/go/bin/ipfs daemon</string>
235-
</array>
236-
<key>RunAtLoad</key>
237-
<true/>
238-
</dict>
239-
</plist>
240-
```
241-
The reason for running `ipfs` under a shell is to avoid needing to hard-code the user's home directory in the job.
242-
243-
- To start the job, run `launchctl load ~/Library/LaunchAgents/io.ipfs.go-ipfs.plist`
244-
245-
Notes:
246-
247123
- To check that the job is running, run `launchctl list | grep ipfs`.
248124
- IPFS should now start whenever you log in (and exit when you log out).
249125
- [LaunchControl](http://www.soma-zone.com/LaunchControl/) is a GUI tool which simplifies management of LaunchAgents.

0 commit comments

Comments
 (0)