Skip to content

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:

systemctl --user daemon-reload
systemctl --user enable --now fedinesia

%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.

Image Source

codeberg.org/marvinsmastodontools/fedinesia