Container¶
Fedinesia is available as a container image from the Codeberg Container Registry and can be run with Podman or Docker.
Basic Usage¶
podman run \
--env PAUSE_IN_SECONDS=300 \
--replace \
--volume ./config:/config \
--volume ./logging:/logging \
--name fedinesia \
codeberg.org/marvinsmastodontools/fedinesia
The container reads config.json from /config inside the container.
Mount a directory containing your config.json to /config.
Environment Variables¶
| Variable | Required | Default | Description |
|---|---|---|---|
PAUSE_IN_SECONDS |
Yes | — | Seconds between successive runs |
AUDIT_LOG_FILE |
No | unset | Path to write the audit log |
AUDIT_STYLE |
No | PLAIN |
Audit log format (PLAIN or CSV) |
LIMIT |
No | unset | Max deletions per execution |
DRY_RUN |
No | unset | Preview deletions without deleting |
PROGRESS_FILE |
No | unset | Path for resumable progress tracking |
CONTINUE_PROGRESS |
No | unset | Resume from last progress checkpoint |
LOGGING_CONFIG |
No | unset | Path to a Loguru TOML config file |
See Configuration for full details on each variable.
Compose Example¶
services:
fedinesia:
image: codeberg.org/marvinsmastodontools/fedinesia
restart: unless-stopped
environment:
PAUSE_IN_SECONDS: "300"
AUDIT_LOG_FILE: /logging/audit.log
volumes:
- ./config:/config
- ./logging:/logging
Quadlet Example¶
Podman Quadlet
generates a systemd unit from a .container file, letting systemd manage the
container lifecycle without a compose tool.
Save the following as ~/.config/containers/systemd/fedinesia.container:
[Unit]
Description=Fedinesia — delete old Fediverse posts
After=network-online.target
[Container]
Image=codeberg.org/marvinsmastodontools/fedinesia
Environment=PAUSE_IN_SECONDS=300
Environment=AUDIT_LOG_FILE=/logging/audit.log
Volume=%h/fedinesia/config:/config:Z
Volume=%h/fedinesia/logging:/logging:Z
[Service]
Restart=always
[Install]
WantedBy=default.target
Then enable and start the service:
%h expands to your home directory. The :Z volume option sets the SELinux
label — safe to omit on systems that do not use SELinux.
Platforms¶
The image is built for linux/amd64 and linux/arm64.