The AlmaLinux Mirror Propagation Report https://mirrors-report.rda.run
  • HTML 98.1%
  • Shell 1.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-11 09:50:07 -03:00
.forgejo/workflows ci: update workflow to use node:22-bookworm container and add apt source fix for legacy Debian environments 2026-08-06 15:57:30 -03:00
.editorconfig Create .editorconfig 2024-09-25 17:06:34 -03:00
.gitignore Update .gitignore to include site/ directory 2025-05-20 14:25:54 -03:00
header_bg.jpg feat: add header background image and reset root left margin in index.html 2026-08-07 10:11:17 -03:00
index.html feat: add header background image and reset root left margin in index.html 2026-08-07 10:11:17 -03:00
LICENSE Update LICENSE to extend copyright year to 2025 2025-05-20 14:25:54 -03:00
notification-list.json chore: update mirror_name in notification-list.json to mirrors.rda.poa.br 2026-08-06 15:21:16 -03:00
README.md update readme 2026-08-11 09:50:07 -03:00
run.sh feat: increase mirror notification threshold from 60 seconds to 30 minutes 2026-08-06 17:19:44 -03:00

AlmaLinux Mirror Propagation Report

This service provides information about the status of the AlmaLinux mirrors. The report shows the time it takes for updates to propagate to the mirrors, as well as the number of mirrors that have been updated. This information can be used to identify mirrors that are not up to date, and to troubleshoot any problems with the mirror propagation process.

Wanna be notified when a your server is outdated?

Open an PR to add your server to the notification-list.json file. This will allow you to receive notifications when your server is outdated for more than 30 minutes.

Podman as Docker (rootless) — AlmaLinux 9 / Raspberry Pi

How to keep the Podman socket running permanently for applications that expect to talk to the Docker daemon.

TL;DR

sudo loginctl enable-linger $(whoami)
systemctl --user enable --now podman.socket
echo 'export DOCKER_HOST=unix:///run/user/'$(id -u)'/podman/podman.sock' >> ~/.bashrc
source ~/.bashrc

The problem

The application fails with:

failed to query docker info: Cannot connect to the Docker daemon at
unix:///run/user/1001/podman/podman.sock. Is the docker daemon running?

Running sudo systemctl start podman makes it work, but the socket dies as soon as the SSH terminal is closed.

The causes

Three independent problems overlap here:

1. Wrong socket

sudo systemctl start podman starts the root socket, at /run/podman/podman.sock.

The application uses the rootless socket for UID 1001, at /run/user/1001/podman/podman.sock.

These are different sockets, belonging to different Podman instances, with separate images and containers. Starting one has no effect on the other.

2. User session terminated

systemd --user services are stopped when the user's last session ends. Closing the SSH connection kills systemd --user and takes the socket with it — the /run/user/1001 directory itself stops existing.

loginctl enable-linger keeps the user's systemd instance running for as long as the machine is powered on, even with no active login.

3. .service vs .socket

Unit Behavior
podman.service Has an idle timeout and stops on its own
podman.socket Activated on demand, never expires

For permanent use, always use podman.socket.


Setup

Run these as the user that runs the application (not with sudo su).

1. Confirm the UID

id -u

This should print 1001 — the same number that appears in the error path. If it prints anything else, you are on the wrong user.

2. Enable linger

sudo loginctl enable-linger $(whoami)

3. Enable and start the socket

systemctl --user enable --now podman.socket

4. Set DOCKER_HOST

echo 'export DOCKER_HOST=unix:///run/user/'$(id -u)'/podman/podman.sock' >> ~/.bashrc
source ~/.bashrc

5. Verify

Close the SSH session, reconnect, then run:

systemctl --user status podman.socket
podman info | head -3

The status should show Active: active (listening).


Troubleshooting

Failed to connect to bus: No medium found

The shell has no XDG_RUNTIME_DIR set. This happens when you reached the shell through su - user or sudo -i -u user instead of a direct SSH login.

Temporary fix, for the current shell only:

export XDG_RUNTIME_DIR=/run/user/$(id -u)
export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus

Permanent fix: exit everything and connect directly with ssh user@host. Then confirm:

echo $XDG_RUNTIME_DIR   # should print /run/user/1001

If this comes back empty even over a direct SSH login, enable-linger was not applied — the /run/user/1001 directory only exists after it.

Application runs as a systemd service

Services do not read .bashrc. Add the variable to the unit file itself:

[Service]
Environment=DOCKER_HOST=unix:///run/user/1001/podman/podman.sock

Then:

sudo systemctl daemon-reload
sudo systemctl restart service-name

Containers/images disappeared

You most likely switched between root and rootless Podman. Check which socket is in use:

echo $DOCKER_HOST

To list what exists in each instance:

podman ps -a          # rootless (current user)
sudo podman ps -a     # root

Command reference

Action Command
Socket status systemctl --user status podman.socket
Restart socket systemctl --user restart podman.socket
Logs journalctl --user -u podman.socket -n 50
Check linger loginctl show-user $(whoami) | grep Linger
Test connection podman info

Notes

  • Rootless Podman cannot bind ports below 1024 by default. To allow it:
    sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
    
    To make this persist, add it to /etc/sysctl.d/99-podman.conf.
  • The podman-docker package creates a docker → podman alias, useful for scripts that call docker directly.