Skip to content

Commit

Permalink
Merge pull request #5117 from baude/podmansystemservicesucks
Browse files Browse the repository at this point in the history
[CI:DOCS]fix systemd files for apiv2
  • Loading branch information
openshift-merge-robot authored Feb 6, 2020
2 parents 5dcb68e + f2d6e71 commit 3b47bda
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 75 deletions.
78 changes: 4 additions & 74 deletions contrib/systemd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@

## system-wide (podman service run as root)

The following unit file examples assume:
1. copied the `service` executable into `/usr/local/bin`
1. `chcon system_u:object_r:container_runtime_exec_t:s0 /usr/local/bin/service`

then:
1. copy the `podman.service` and `podman.socket` files into `/etc/systemd/system`
1. `systemctl daemon-reload`
1. `systemctl enable podman.socket`
Expand All @@ -16,47 +11,12 @@ then:
Assuming the status messages show no errors, the libpod service is ready to respond to the APIv2 on the unix domain socket `/run/podman/podman.sock`

### podman.service
```toml
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-api(1)
StartLimitIntervalSec=0

[Service]
Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=/usr/local/bin/service
TimeoutStopSec=30
KillMode=process

[Install]
WantedBy=multi-user.target
Also=podman.socket
```
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/system/podman.service) for a sample podman.service file.
### podman.socket
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/system/podman.socket) for a sample podman.socket file.

```toml
[Unit]
Description=Podman API Socket
Documentation=man:podman-api(1)

[Socket]
ListenStream=%t/podman/podman.sock
SocketMode=0660

[Install]
WantedBy=sockets.target
```
## user (podman service run as given user aka "rootless")

The following unit file examples assume:
1. you have a created a directory `~/bin`
1. copied the `service` executable into `~/bin`
1. `chcon system_u:object_r:container_runtime_exec_t:s0 ~/bin/service`

then:
1. `mkdir -p ~/.config/systemd/user`
1. copy the `podman.service` and `podman.socket` files into `~/.config/systemd/user`
1. `systemctl --user enable podman.socket`
Expand All @@ -66,37 +26,7 @@ then:
Assuming the status messages show no errors, the libpod service is ready to respond to the APIv2 on the unix domain socket `/run/user/$(id -u)/podman/podman.sock`

### podman.service
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/user/podman.service) for a rootless podman.service file.

```toml
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-api(1)
StartLimitIntervalSec=0

[Service]
Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=%h/bin/service
TimeoutStopSec=30
KillMode=process

[Install]
WantedBy=multi-user.target
Also=podman.socket
```
### podman.socket

```toml
[Unit]
Description=Podman API Socket
Documentation=man:podman-api(1)

[Socket]
ListenStream=%t/podman/podman.sock
SocketMode=0660

[Install]
WantedBy=sockets.target
```
You can refer to [this example](https://github.com/containers/libpod/blob/master/contrib/systemd/user/podman.socket) for a rootless podman.socket file.
2 changes: 1 addition & 1 deletion contrib/systemd/system/podman.service
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ StartLimitIntervalSec=0
[Service]
Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=/usr/local/bin/service
ExecStart=/usr/bin/podman system service
TimeoutStopSec=30
KillMode=process

Expand Down

0 comments on commit 3b47bda

Please sign in to comment.