podman-quadlet-install - Install a quadlet file or quadlet application
podman quadlet install [options] quadlet-path-or-url [files-path-or-url]...
Install a Quadlet file or an application (which may include multiple Quadlet files) for the current user. You can specify Quadlet files as local files or web URLs.
This command allows you to:
* Install a single Quadlet file, optionally followed by additional non-Quadlet files.
* Specify a directory containing multiple Quadlet files and other non-Quadlet files for installation (for example a config file for a quadlet container).
* Install multiple Quadlets from a single file with the `.quadlets` extension, where each Quadlet is separated by a `---` delimiter. When using multiple quadlets in a single `.quadlets` file, each quadlet section must include a `# FileName=<name>` comment to specify the name for that quadlet.
Note: An application is a collection of files, quadlet and non-quadlets, that need to live together. As such, removing a quadlet that is part of an application will remove the entire application. When a quadlet is installed from a directory, all files installed from that directory—including both quadlet and non-quadlet files—are considered part of a single application.
Note: When multiple quadlets are installed from a single
.quadlets file, they are all considered part of the same
application only when an application name is provided using the
--application option.
You can specify an application name, all files will be installed
under a directory with the application name. The application name is
required when specifying a directory path. An application name can't
have a quadlet extension as suffix. For example
foo.container isn't a valid application name.
Reload systemd after the operation completes (default true). In order
to disable it users need to manually set the value of this flag to
false.
Replace the Quadlet installation even if the generated unit file
already exists (default false). In order to enable it, users need to
manually set the value of this flag to true. This flag is
used primarily to update an existing unit.
Install quadlet from a file.
$ podman quadlet install test-service-quadlet.container
/home/user/.config/containers/systemd/test-service-quadlet.container
Install quadlet from a dir.
$ podman quadlet install --application=foo /home/user/work/quadlet-app/
/home/user/.config/containers/systemd/myquadlet1.container
/home/user/.config/containers/systemd/myquadlet2.container
/install/path/myquadlet1.container
/install/path/myquadlet2.container
Install quadlet from a url
$ podman quadlet install https://github.com/containers/podman/blob/main/test/e2e/quadlet/basic.container
/home/user/.config/containers/systemd/basic.container
Install multiple quadlets from a single .quadlets file
$ cat webapp.quadlets
# FileName=web-server
[Container]
Image=nginx:latest
ContainerName=web-server
PublishPort=8080:80
---
# FileName=app-storage
[Volume]
Label=app=webapp
---
# FileName=app-network
[Network]
Subnet=10.0.0.0/24
$ podman quadlet install webapp.quadlets
/home/user/.config/containers/systemd/web-server.container
/home/user/.config/containers/systemd/app-storage.volume
/home/user/.config/containers/systemd/app-network.network
Note: Multi-quadlet functionality requires the .quadlets
file extension. Files with other extensions will only be processed as
single quadlets or asset files.