Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,45 @@ First edit the `docker-compose.yml` file with any configuration keys (as describ
cd examples
docker compose up -d
```

### Podman Compose

Podman Compose works almost identically to Docker's version but watchtower is not the recommended auto-update method. To achive a similar effect:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This guide should mention that this is for (what appears) to be a rootless podman setup which may not be what the user has installed.

If it's not too much effort, it would be nice if this guide would either have two separate guides, one for rootless and one for root. Or at least mention the "do this if rootless, this if not".

#### One Time Setup
1. (as root) Set up the base systemd unit file for containers:
`sudo /usr/local/bin/podman-compose systemd --action create-unit`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line assumes where podman-compose is installed. We should rely on $PATH here.

1. (as your user) Configure the auto-update timer:
`systemctl --user enable --now podman-auto-update.timer`
1. (as your user) Create your directory to hold compose files:
`mkdir -p ~/containers`

#### For each container:
1. Set up a directory to hold the container and other files:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's been a while since I've done podman, I admit. But why do they need to do this for "each container"?
If I recall correctly, podman-compose supports the scale parameter.

`mkdir -p ~/containers/archiveteam; cd ~/containers/archiveteam`
2. Create `container-compose.yml` in the new directory:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than have the user copy paste this file, why not include it in the repo as a dedicated file much like the docker-compose file is included.

```
version: "3"
services:
archiveteam:
image: atdr.meo.ws/archiveteam/warrior-dockerfile
container_name: archiveteam

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't set a container name to be honest. This way people who want to run multiples can use scale

ports:
- "8001:8001"
restart: unless-stopped
env_file: .env
labels:
- "io.containers.autoupdate=registry"
```
3. Create the `.env` file in the same directory with your configuration, using the Configuration Mapping fields above:
```
DOWNLOADER=
HTTP_USERNAME=
HTTP_PASSWORD=
SELECTED_PROJECT=auto
CONCURRENT_ITEMS=
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some thoughts in this.
Only DOWNLOADER and SELECTED_PROJECT should be specified (with project defaulting to auto as it does here) in order to be in line with the docker instructions. (Although I could be convinced to add the HTTP_ ones in as well as long as there is an explicit instruction to actually put some sensible values in them.)

Concurrency is something that can be rather sensitive; people setting it too high often causes 429 issues.
As such, I would argue that it's best left out. Those who know what it means and care are also smart enough to read the part of the readme where it mentions the var.

4. Test the config with `podman-compose up`
5. If everything goes well, Ctrl-C the process and run `podman-compose down` to clean up
6. Register the container with systemctl: `podman-compose systemd -a register`
7. Enable the container to start on boot and start it right now with `systemctl --user enable --now podman-compose@archiveteam`