% podman-quadlet-install 1

## NAME
podman\-quadlet\-install - Install a quadlet file or quadlet application

## SYNOPSIS
**podman quadlet install** [*options*] *quadlet-path-or-url* [*files-path-or-url*]...

## DESCRIPTION

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.

## OPTIONS

#### **--application**=*string*

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**

Reload systemd after installing Quadlets (default true).
In order to disable it users need to manually set the value
of this flag to `false`.

#### **--replace**, **-r**

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.

## EXAMPLES

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.

## SEE ALSO
**[podman(1)](podman.1.md)**, **[podman-quadlet(1)](podman-quadlet.1.md)**, **[podman-systemd.unit(5)](podman-systemd.unit.5.md)**
