Repliqate only polls repliqate.enabled labels for use on startup #23

Open
opened 2025-11-30 22:11:53 -05:00 by bcurran3 · 16 comments
bcurran3 commented 2025-11-30 22:11:53 -05:00 (Migrated from github.com)

(I'm just staring to test repliqate today.)

repliqate is only checking for repliqate.enabled: true docker labels on initial startup. It is not continuously polling for updates.

Today I added repliqate docker labels to one of my containers for testing. I started up repliqate and it correctly showed me in the logs that it was supposed to backup the container at xx:xx time. I then went and added repliqate docker labels to a few more containers and re-installed them. I watched the reqpliqate logs and four hours later Repliqate.Services.ScheduleManager did not know to backup my other apps. Upon restarting repliqate, the labels were discovered and the schedule set to backup the containres.

IMHO: This is a serious bug.

(I'm just staring to test repliqate today.) repliqate is only checking for repliqate.enabled: true docker labels on initial startup. It is not continuously polling for updates. Today I added repliqate docker labels to one of my containers for testing. I started up repliqate and it correctly showed me in the logs that it was supposed to backup the container at xx:xx time. I then went and added repliqate docker labels to a few more containers and re-installed them. I watched the reqpliqate logs and four hours later Repliqate.Services.ScheduleManager did not know to backup my other apps. Upon restarting repliqate, the labels were discovered and the schedule set to backup the containres. IMHO: This is a serious bug.
WiggleWizard commented 2025-12-08 06:40:30 -05:00 (Migrated from github.com)

Interesting issue. I'll take a look at this. It should be fully active and listening on changes to Docker itself through the callback system of Docker's sock.

Would you mind posting your repliqate logs here please?

Interesting issue. I'll take a look at this. It *should* be fully active and listening on changes to Docker itself through the callback system of Docker's sock. Would you mind posting your repliqate logs here please?
bcurran3 commented 2025-12-08 16:20:14 -05:00 (Migrated from github.com)

Sure thing.

[30-11-2025 19:03:34 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[30-11-2025 19:03:34 INF] [] Backup root path set to /var/backups
[30-11-2025 19:03:34 INF] [] Docker socket path set to
[30-11-2025 19:03:34 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[30-11-2025 19:03:34 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[30-11-2025 19:03:34 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[30-11-2025 19:03:34 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$NON_CLUSTERED started.
[30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00
[30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/01/2025 15:15:00 -08:00
[30-11-2025 19:04:31 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[30-11-2025 19:04:31 INF] [] Backup root path set to /var/backups
[30-11-2025 19:04:31 INF] [] Docker socket path set to
[30-11-2025 19:04:31 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[30-11-2025 19:04:32 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[30-11-2025 19:04:32 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[30-11-2025 19:04:32 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler
$NON_CLUSTERED started.
[30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 11/30/2025 19:10:00 -08:00
[30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00
[30-11-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden
[30-11-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden
[30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4633253), next execution time: 12/02/2025 03:10:00 +00:00
[30-11-2025 20:58:21 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[30-11-2025 20:58:21 INF] [] Backup root path set to /var/backups
[30-11-2025 20:58:21 INF] [] Docker socket path set to
[30-11-2025 20:58:21 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[30-11-2025 20:58:21 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[30-11-2025 20:58:21 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[30-11-2025 20:58:21 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler
$NON_CLUSTERED started.
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243
at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87
at Program.

(String[] args)
[30-11-2025 20:58:25 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[30-11-2025 20:58:26 INF] [] Backup root path set to /var/backups
[30-11-2025 20:58:26 INF] [] Docker socket path set to
[30-11-2025 20:58:26 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[30-11-2025 20:58:26 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[30-11-2025 20:58:26 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[30-11-2025 20:58:26 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler
$NON_CLUSTERED started.
[30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/01/2025 19:10:00 -08:00
[30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt
[30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.4299721), next execution time: 12/02/2025 07:00:00 +00:00
[05-12-2025 01:22:59 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[05-12-2025 01:22:59 INF] [] Backup root path set to /var/backups
[05-12-2025 01:22:59 INF] [] Docker socket path set to
[05-12-2025 01:23:00 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[05-12-2025 01:23:00 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[05-12-2025 01:23:00 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[05-12-2025 01:23:00 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler
$_NON_CLUSTERED started.
[05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/05/2025 19:10:00 -08:00
[05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/05/2025 23:00:00 -08:00
[05-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden
[05-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden
[05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4283257), next execution time: 12/07/2025 03:10:00 +00:00
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt
[05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.3983258), next execution time: 12/07/2025 07:00:00 +00:00
[06-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden
[06-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden
[06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4138339), next execution time: 12/08/2025 03:10:00 +00:00
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt
[06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.3680130), next execution time: 12/08/2025 07:00:00 +00:00
Container stopped

Sure thing. > [30-11-2025 19:03:34 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) > [30-11-2025 19:03:34 INF] [] Backup root path set to /var/backups > [30-11-2025 19:03:34 INF] [] Docker socket path set to > [30-11-2025 19:03:34 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock > [30-11-2025 19:03:34 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon > [30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Scheduler starting > [30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file > [30-11-2025 19:03:34 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl > [30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created > [30-11-2025 19:03:34 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. > [30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized > [30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 > [30-11-2025 19:03:34 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False > [30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory > [30-11-2025 19:03:34 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. > [30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt > [30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00 > [30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden > [30-11-2025 19:03:34 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/01/2025 15:15:00 -08:00 > [30-11-2025 19:04:31 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) > [30-11-2025 19:04:31 INF] [] Backup root path set to /var/backups > [30-11-2025 19:04:31 INF] [] Docker socket path set to > [30-11-2025 19:04:31 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock > [30-11-2025 19:04:32 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon > [30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Scheduler starting > [30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file > [30-11-2025 19:04:32 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl > [30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created > [30-11-2025 19:04:32 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. > [30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized > [30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 > [30-11-2025 19:04:32 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False > [30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory > [30-11-2025 19:04:32 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. > [30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden > [30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 11/30/2025 19:10:00 -08:00 > [30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt > [30-11-2025 19:04:32 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00 > [30-11-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden > [30-11-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden > [30-11-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4633253), next execution time: 12/02/2025 03:10:00 +00:00 > [30-11-2025 20:58:21 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) > [30-11-2025 20:58:21 INF] [] Backup root path set to /var/backups > [30-11-2025 20:58:21 INF] [] Docker socket path set to > [30-11-2025 20:58:21 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock > [30-11-2025 20:58:21 INF] [Repliqate.Services.ScheduleManager] Scheduler starting > [30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file > [30-11-2025 20:58:21 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl > [30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created > [30-11-2025 20:58:21 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. > [30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized > [30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 > [30-11-2025 20:58:21 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False > [30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory > [30-11-2025 20:58:21 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. > Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. > at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243 > at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210 > at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) > at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) > at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) > at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87 > at Program.<Main>(String[] args) > [30-11-2025 20:58:25 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) > [30-11-2025 20:58:26 INF] [] Backup root path set to /var/backups > [30-11-2025 20:58:26 INF] [] Docker socket path set to > [30-11-2025 20:58:26 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock > [30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Scheduler starting > [30-11-2025 20:58:26 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon > [30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file > [30-11-2025 20:58:26 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl > [30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created > [30-11-2025 20:58:26 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. > [30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized > [30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 > [30-11-2025 20:58:26 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False > [30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory > [30-11-2025 20:58:26 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. > [30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden > [30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/01/2025 19:10:00 -08:00 > [30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt > [30-11-2025 20:58:26 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 11/30/2025 23:00:00 -08:00 > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt > [30-11-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.4299721), next execution time: 12/02/2025 07:00:00 +00:00 > [05-12-2025 01:22:59 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) > [05-12-2025 01:22:59 INF] [] Backup root path set to /var/backups > [05-12-2025 01:22:59 INF] [] Docker socket path set to > [05-12-2025 01:23:00 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock > [05-12-2025 01:23:00 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon > [05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Scheduler starting > [05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file > [05-12-2025 01:23:00 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl > [05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created > [05-12-2025 01:23:00 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. > [05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized > [05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 > [05-12-2025 01:23:00 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False > [05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory > [05-12-2025 01:23:00 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. > [05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden > [05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/05/2025 19:10:00 -08:00 > [05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt > [05-12-2025 01:23:00 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/05/2025 23:00:00 -08:00 > [05-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden > [05-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden > [05-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4283257), next execution time: 12/07/2025 03:10:00 +00:00 > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt > [05-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.3983258), next execution time: 12/07/2025 07:00:00 +00:00 > [06-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden > [06-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden > [06-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4138339), next execution time: 12/08/2025 03:10:00 +00:00 > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt > [06-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.3680130), next execution time: 12/08/2025 07:00:00 +00:00 > Container stopped
WiggleWizard commented 2025-12-09 08:18:29 -05:00 (Migrated from github.com)

Weird, I can see repliqate is connecting to the Docker sock. Could you post your repliqate docker compose if you could? I'd like to see how you've bound the docker sock

Weird, I can see repliqate is connecting to the Docker sock. Could you post your repliqate docker compose if you could? I'd like to see how you've bound the docker sock
bcurran3 commented 2025-12-09 11:42:46 -05:00 (Migrated from github.com)

Sure thing.
(Can be used as another example of same request in https://github.com/lminlone/repliqate/issues/21#issuecomment-3632250588)

vars:


# ANE
ansible_nas_app_name: "Repliqate"
repliqate_enabled: false
repliqate_available_externally: false
repliqate_traefik_whitelist: "{{ lan }}"

# directories
repliqate_data_directory: "{{ docker_home }}/repliqate"

# docker
repliqate_container_name: "repliqate"
repliqate_image_name: "lminlone/repliqate"
repliqate_image_tag: "latest"

# network
repliqate_hostname: "repliqate"

# specs
repliqate_cpu_shares: "1024"
repliqate_memory: 1g

# autoheal
repliqate_autoheal: "false"

# homepage
repliqate_homepage_group: "Misc"
repliqate_homepage_icon: "sh-repliqate.png"
repliqate_homepage_showstats: "false"

# watchtower
repliqate_watchtower_enable: "false"

task:

    - name: Create {{ ansible_nas_app_name }} Container
      community.docker.docker_container:
        container_default_behavior: "compatibility"
        name: "{{ repliqate_container_name }}"
        hostname: "{{ repliqate_container_name }}"
        image: "{{ repliqate_image_name }}:{{ repliqate_image_tag }}"
        pull: true
        volumes:
          - "{{ repliqate_data_directory }}:/var/repliqate"
          - /var/lib/docker/volumes:/var/lib/docker/volumes
          - "/var/run/docker.sock:/var/run/docker.sock"
        env:
          TZ: "{{ ansible_nas_timezone }}"
        labels:
          autoheal: "{{ repliqate_autoheal }}"
          com.centurylinklabs.watchtower.enable: "{{ repliqate_watchtower_enable }}"
          dockflare.enable: "false"
          homepage.name: "{{ ansible_nas_app_name }}"
          homepage.group: "{{ repliqate_homepage_group }}"
          homepage.icon: "{{ repliqate_homepage_icon }}"
          homepage.description: "{{ 'a modular Docker container/volume backup solution' if homepage_show_description else omit }}"
          homepage.server: "my-docker"
          homepage.container: "{{ repliqate_container_name }}"
          homepage.showStats: "{{ repliqate_homepage_showstats }}"
          repliqate.enabled: 'false'
          traefik.enable: "false"
          wud.tag.include: "^v\\d+\\.\\d+\\.\\d+$"
          wud.tag.transform.type: "semver"
          wud.link.template: "https://github.com/lminlone/repliqate/releases/"
        cpu_shares: "{{ repliqate_cpu_shares }}"
        memory: "{{ repliqate_memory }}"
        restart_policy: unless-stopped
Sure thing. (Can be used as another example of same request in https://github.com/lminlone/repliqate/issues/21#issuecomment-3632250588) vars: --- ``` # ANE ansible_nas_app_name: "Repliqate" repliqate_enabled: false repliqate_available_externally: false repliqate_traefik_whitelist: "{{ lan }}" # directories repliqate_data_directory: "{{ docker_home }}/repliqate" # docker repliqate_container_name: "repliqate" repliqate_image_name: "lminlone/repliqate" repliqate_image_tag: "latest" # network repliqate_hostname: "repliqate" # specs repliqate_cpu_shares: "1024" repliqate_memory: 1g # autoheal repliqate_autoheal: "false" # homepage repliqate_homepage_group: "Misc" repliqate_homepage_icon: "sh-repliqate.png" repliqate_homepage_showstats: "false" # watchtower repliqate_watchtower_enable: "false" ``` task: ``` - name: Create {{ ansible_nas_app_name }} Container community.docker.docker_container: container_default_behavior: "compatibility" name: "{{ repliqate_container_name }}" hostname: "{{ repliqate_container_name }}" image: "{{ repliqate_image_name }}:{{ repliqate_image_tag }}" pull: true volumes: - "{{ repliqate_data_directory }}:/var/repliqate" - /var/lib/docker/volumes:/var/lib/docker/volumes - "/var/run/docker.sock:/var/run/docker.sock" env: TZ: "{{ ansible_nas_timezone }}" labels: autoheal: "{{ repliqate_autoheal }}" com.centurylinklabs.watchtower.enable: "{{ repliqate_watchtower_enable }}" dockflare.enable: "false" homepage.name: "{{ ansible_nas_app_name }}" homepage.group: "{{ repliqate_homepage_group }}" homepage.icon: "{{ repliqate_homepage_icon }}" homepage.description: "{{ 'a modular Docker container/volume backup solution' if homepage_show_description else omit }}" homepage.server: "my-docker" homepage.container: "{{ repliqate_container_name }}" homepage.showStats: "{{ repliqate_homepage_showstats }}" repliqate.enabled: 'false' traefik.enable: "false" wud.tag.include: "^v\\d+\\.\\d+\\.\\d+$" wud.tag.transform.type: "semver" wud.link.template: "https://github.com/lminlone/repliqate/releases/" cpu_shares: "{{ repliqate_cpu_shares }}" memory: "{{ repliqate_memory }}" restart_policy: unless-stopped ```
bcurran3 commented 2025-12-09 12:05:48 -05:00 (Migrated from github.com)

I'm going to go add repliqate labels to some more of my containers and re-deploy them; then I'll post some more logs.

Two setup for repliqate currently:

[09-12-2025 09:03:49 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[09-12-2025 09:03:49 INF] [] Backup root path set to /var/backups
[09-12-2025 09:03:49 INF] [] Docker socket path set to 
[09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[09-12-2025 09:03:49 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[09-12-2025 09:03:49 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/09/2025 19:10:00 -08:00
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/09/2025 23:00:00 -08:00


I'm going to go add repliqate labels to some more of my containers and re-deploy them; then I'll post some more logs. Two setup for repliqate currently: ``` [09-12-2025 09:03:49 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) [09-12-2025 09:03:49 INF] [] Backup root path set to /var/backups [09-12-2025 09:03:49 INF] [] Docker socket path set to [09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock [09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Scheduler starting [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file [09-12-2025 09:03:49 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created [09-12-2025 09:03:49 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/09/2025 19:10:00 -08:00 [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/09/2025 23:00:00 -08:00 ```
bcurran3 commented 2025-12-09 12:15:15 -05:00 (Migrated from github.com)

I just added the repliqate true label for two more containers, acmenator and gotify.
I docker stop'd and docker rm'd both acmenator and gotify.
I ran my Ansible script to redeploy both acmenator and gotify with the newly added repliqate.enabled: true labels.

I just looked at the repliqate logs in dozzle and from docker logs and nothing has updated. It's been roughly five minutes or so.

ENTIRETY of the logs:

[09-12-2025 09:03:49 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[09-12-2025 09:03:49 INF] [] Backup root path set to /var/backups
[09-12-2025 09:03:49 INF] [] Docker socket path set to 
[09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[09-12-2025 09:03:49 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[09-12-2025 09:03:49 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/09/2025 19:10:00 -08:00
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/09/2025 23:00:00 -08:00
I just added the repliqate true label for two more containers, acmenator and gotify. I `docker stop`'d and `docker rm`'d both acmenator and gotify. I ran my Ansible script to redeploy both acmenator and gotify with the newly added `repliqate.enabled: true` labels. I just looked at the repliqate logs in dozzle and from docker logs and nothing has updated. It's been roughly five minutes or so. ENTIRETY of the logs: ``` [09-12-2025 09:03:49 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) [09-12-2025 09:03:49 INF] [] Backup root path set to /var/backups [09-12-2025 09:03:49 INF] [] Docker socket path set to [09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock [09-12-2025 09:03:49 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Scheduler starting [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file [09-12-2025 09:03:49 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created [09-12-2025 09:03:49 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 [09-12-2025 09:03:49 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory [09-12-2025 09:03:49 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/09/2025 19:10:00 -08:00 [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt [09-12-2025 09:03:49 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/09/2025 23:00:00 -08:00 ```
bcurran3 commented 2025-12-09 15:47:46 -05:00 (Migrated from github.com)

It's 3+ hours later and the logs remain the same.

(I won't check any more.)

It's 3+ hours later and the logs remain the same. (I won't check any more.)
WiggleWizard commented 2025-12-10 03:25:02 -05:00 (Migrated from github.com)

Thanks for that info; repliqate should pick up any changes almost immediately after you've started the stack. I don't see any issues with it connecting with the docker sock, so it's difficult to determine what the issue could be.

What version of Docker are you using and are you using it directly to make updates or is Ansible calling into it to make those stack/container changes?

Thanks for that info; repliqate should pick up any changes almost immediately after you've started the stack. I don't see any issues with it connecting with the docker sock, so it's difficult to determine what the issue could be. What version of Docker are you using and are you using it directly to make updates or is Ansible calling into it to make those stack/container changes?
bcurran3 commented 2025-12-10 12:43:13 -05:00 (Migrated from github.com)

The Ansible script is the Ansible community.docker.docker_container module. I searched for a better description of what happens then what I could write and found: "When this playbook is executed, Ansible connects to the docker_hosts, uses the community.docker.docker_container module to interact with the Docker daemon on those hosts, and creates or manages the my_nginx_container according to the defined specifications. If the container doesn't exist, it will be created. If it exists but its configuration differs from the playbook, Ansible will update it to match the desired state."

I'm using Docker version 29.1.2, build 890dcca.

OK. Now for the fun part that I'm hoping makes you go "Hmmmmmmmmm..."

About 24 hours ago I added repliqate enabling labels to my acmenator and gotify containers and recreated them as previously posted. By design, repliqate should have read the new labels from the docker socket and prepped to do backups. According to the logs, it didn't notice the change. (No new info here, all rehash). Repliqate first became (via announcement in the logs) of the containers with repliqate enabled labels at 3:01 AM after the VM was shut down at 3:00 AM and for the scheduled Wed morning backup. This supports my theory that repliqate is only (successfully) polling the docker socket for labels when the repliqate container starts.

Here's the full follow-up logs:

[09-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden
[09-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden
[09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4690773), next execution time: 12/11/2025 03:10:00 +00:00
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt
[09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.4011585), next execution time: 12/11/2025 07:00:00 +00:00
[10-12-2025 03:01:41 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[10-12-2025 03:01:41 INF] [] Backup root path set to /var/backups
[10-12-2025 03:01:41 INF] [] Docker socket path set to 
[10-12-2025 03:01:41 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[10-12-2025 03:01:41 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[10-12-2025 03:01:41 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[10-12-2025 03:01:41 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[10-12-2025 03:01:41 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[10-12-2025 03:01:41 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[10-12-2025 03:01:42 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243
   at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87
   at Program.<Main>(String[] args)
[10-12-2025 03:01:42 ERR] [Repliqate.Services.DockerConnector] Failed to connect to Docker daemon
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
 ---> System.Net.Http.HttpRequestException: The requested failed, see inner exception for details.
 ---> System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Threading.CancellationToken.ThrowIfCancellationRequested()
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
   at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
   at Microsoft.Net.Http.Client.BufferedReadStream.EnsureBufferedAsync(CancellationToken cancel)
   at Microsoft.Net.Http.Client.BufferedReadStream.ReadLineAsync(CancellationToken cancel)
   at Microsoft.Net.Http.Client.HttpConnection.ReadResponseLinesAsync(CancellationToken cancellationToken)
   at Microsoft.Net.Http.Client.HttpConnection.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.Net.Http.Client.HttpConnection.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Net.Http.Client.ManagedHandler.ProcessRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Net.Http.Client.ManagedHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at Docker.DotNet.DockerClient.PrivateMakeRequestAsync(TimeSpan timeout, HttpCompletionOption completionOption, HttpMethod method, String path, IQueryString queryString, IDictionary`2 headers, IRequestContent data, CancellationToken cancellationToken)
   at Docker.DotNet.DockerClient.MakeRequestAsync(IEnumerable`1 errorHandlers, HttpMethod method, String path, IQueryString queryString, IRequestContent body, IDictionary`2 headers, TimeSpan timeout, CancellationToken token)
   at Repliqate.Services.DockerConnector.Initialize() in /src/Repliqate/Services/DockerConnector.cs:line 51
[10-12-2025 03:01:43 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[10-12-2025 03:01:43 INF] [] Backup root path set to /var/backups
[10-12-2025 03:01:43 INF] [] Docker socket path set to 
[10-12-2025 03:01:43 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[10-12-2025 03:01:43 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[10-12-2025 03:01:43 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[10-12-2025 03:01:43 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243
   at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87
   at Program.<Main>(String[] args)
[10-12-2025 03:01:45 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506)
[10-12-2025 03:01:45 INF] [] Backup root path set to /var/backups
[10-12-2025 03:01:45 INF] [] Docker socket path set to 
[10-12-2025 03:01:45 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock
[10-12-2025 03:01:45 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon
[10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Scheduler starting
[10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file
[10-12-2025 03:01:45 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
[10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created
[10-12-2025 03:01:45 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized.
[10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized
[10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
[10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
[10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory
[10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
[10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /gotify
[10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /gotify with the next execute time scheduled for 12/11/2025 03:00:00 -08:00
[10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /acmenator
[10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /acmenator with the next execute time scheduled for 12/11/2025 03:00:00 -08:00
[10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden
[10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/10/2025 19:10:00 -08:00
[10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt
[10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/10/2025 23:00:00 -08:00

The Ansible script is the Ansible community.docker.docker_container module. I searched for a better description of what happens then what I could write and found: "When this playbook is executed, Ansible connects to the docker_hosts, uses the community.docker.docker_container module to interact with the Docker daemon on those hosts, and creates or manages the my_nginx_container according to the defined specifications. If the container doesn't exist, it will be created. If it exists but its configuration differs from the playbook, Ansible will update it to match the desired state." I'm using Docker version 29.1.2, build 890dcca. OK. Now for the fun part that I'm hoping makes you go "Hmmmmmmmmm..." About 24 hours ago I added repliqate enabling labels to my acmenator and gotify containers and recreated them as previously posted. By design, repliqate should have read the new labels from the docker socket and prepped to do backups. According to the logs, it didn't notice the change. (No new info here, all rehash). Repliqate first became (via announcement in the logs) of the containers with repliqate enabled labels at 3:01 AM after the VM was shut down at 3:00 AM and for the scheduled Wed morning backup. This supports my theory that repliqate is only (successfully) polling the docker socket for labels when the repliqate container starts. Here's the full follow-up logs: ``` [09-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Backup job started for /vaultwarden [09-12-2025 19:10:00 INF] [Repliqate.Services.BackupJob] Stopping container /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully stopped container /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Beginning backup for /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/vaultwarden/data) is not a volume but instead a bind, skipping [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/vaultwarden/metadata.json [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup completed for /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Starting container /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Successfully started container /vaultwarden [09-12-2025 19:10:05 INF] [Repliqate.Services.BackupJob] Backup job finished for /vaultwarden (took 00:00:05.4690773), next execution time: 12/11/2025 03:10:00 +00:00 [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job started for /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Stopping container /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully stopped container /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Beginning backup for /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Restic backup started for /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Plugins.AgentRestic.AgentRestic] Mount null (/data/docker/dailytxt/data) is not a volume but instead a bind, skipping [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Writing backup metadata to /var/repliqate/dailytxt/metadata.json [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup completed for /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Starting container /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Successfully started container /dailytxt [09-12-2025 23:00:00 INF] [Repliqate.Services.BackupJob] Backup job finished for /dailytxt (took 00:00:00.4011585), next execution time: 12/11/2025 07:00:00 +00:00 [10-12-2025 03:01:41 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) [10-12-2025 03:01:41 INF] [] Backup root path set to /var/backups [10-12-2025 03:01:41 INF] [] Docker socket path set to [10-12-2025 03:01:41 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock [10-12-2025 03:01:41 INF] [Repliqate.Services.ScheduleManager] Scheduler starting [10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file [10-12-2025 03:01:41 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl [10-12-2025 03:01:41 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created [10-12-2025 03:01:41 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. [10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized [10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 [10-12-2025 03:01:41 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False [10-12-2025 03:01:41 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory [10-12-2025 03:01:42 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243 at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210 at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87 at Program.<Main>(String[] args) [10-12-2025 03:01:42 ERR] [Repliqate.Services.DockerConnector] Failed to connect to Docker daemon System.Threading.Tasks.TaskCanceledException: The operation was canceled. ---> System.Net.Http.HttpRequestException: The requested failed, see inner exception for details. ---> System.OperationCanceledException: The operation was canceled. at System.Threading.CancellationToken.ThrowOperationCanceledException() at System.Threading.CancellationToken.ThrowIfCancellationRequested() at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token) at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) --- End of stack trace from previous location --- at Microsoft.Net.Http.Client.BufferedReadStream.EnsureBufferedAsync(CancellationToken cancel) at Microsoft.Net.Http.Client.BufferedReadStream.ReadLineAsync(CancellationToken cancel) at Microsoft.Net.Http.Client.HttpConnection.ReadResponseLinesAsync(CancellationToken cancellationToken) at Microsoft.Net.Http.Client.HttpConnection.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) --- End of inner exception stack trace --- at Microsoft.Net.Http.Client.HttpConnection.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at Microsoft.Net.Http.Client.ManagedHandler.ProcessRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken) at Microsoft.Net.Http.Client.ManagedHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Docker.DotNet.DockerClient.PrivateMakeRequestAsync(TimeSpan timeout, HttpCompletionOption completionOption, HttpMethod method, String path, IQueryString queryString, IDictionary`2 headers, IRequestContent data, CancellationToken cancellationToken) at Docker.DotNet.DockerClient.MakeRequestAsync(IEnumerable`1 errorHandlers, HttpMethod method, String path, IQueryString queryString, IRequestContent body, IDictionary`2 headers, TimeSpan timeout, CancellationToken token) at Repliqate.Services.DockerConnector.Initialize() in /src/Repliqate/Services/DockerConnector.cs:line 51 [10-12-2025 03:01:43 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) [10-12-2025 03:01:43 INF] [] Backup root path set to /var/backups [10-12-2025 03:01:43 INF] [] Docker socket path set to [10-12-2025 03:01:43 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock [10-12-2025 03:01:43 INF] [Repliqate.Services.ScheduleManager] Scheduler starting [10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file [10-12-2025 03:01:43 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl [10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created [10-12-2025 03:01:43 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. [10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized [10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 [10-12-2025 03:01:43 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False [10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory [10-12-2025 03:01:43 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. at Repliqate.Services.DockerConnector.GetContainers(Dictionary`2 filterLabels) in /src/Repliqate/Services/DockerConnector.cs:line 243 at Repliqate.Services.ScheduleManager.ExecuteAsync(CancellationToken stoppingToken) in /src/Repliqate/Services/ScheduleManager.cs:line 210 at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Program.Main(String[] args) in /src/Repliqate/Program.cs:line 87 at Program.<Main>(String[] args) [10-12-2025 03:01:45 INF] [] Starting Repliqate v0.1.0 (Commit: 9929506) [10-12-2025 03:01:45 INF] [] Backup root path set to /var/backups [10-12-2025 03:01:45 INF] [] Docker socket path set to [10-12-2025 03:01:45 INF] [Repliqate.Services.DockerConnector] Attempting to connect to Docker daemon at unix:///var/run/docker.sock [10-12-2025 03:01:45 INF] [Repliqate.Services.DockerConnector] Connected to Docker daemon [10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Scheduler starting [10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Default Quartz.NET properties loaded from embedded resource file [10-12-2025 03:01:45 INF] [Quartz.Core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl [10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] Quartz Scheduler created [10-12-2025 03:01:45 INF] [Quartz.Simpl.RAMJobStore] RAMJobStore initialized. [10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Quartz Scheduler 3.15.0.0 - 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' initialized [10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10 [10-12-2025 03:01:45 INF] [Quartz.Impl.StdSchedulerFactory] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False [10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] JobFactory set to: Repliqate.Factories.JobFactory [10-12-2025 03:01:45 INF] [Quartz.Core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. [10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /gotify [10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /gotify with the next execute time scheduled for 12/11/2025 03:00:00 -08:00 [10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /acmenator [10-12-2025 03:01:45 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /acmenator with the next execute time scheduled for 12/11/2025 03:00:00 -08:00 [10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /vaultwarden [10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /vaultwarden with the next execute time scheduled for 12/10/2025 19:10:00 -08:00 [10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Found container that Repliqate is scheduled on, for /dailytxt [10-12-2025 03:01:46 INF] [Repliqate.Services.ScheduleManager] Backup job assigned to /dailytxt with the next execute time scheduled for 12/10/2025 23:00:00 -08:00 ```
bcurran3 commented 2025-12-10 12:54:46 -05:00 (Migrated from github.com)

THOUGHTS on Docker versions...

There were some API changes with Docker v29. I've had some other programs have compatibility problems. (If I remember correctly and pressed for time so can't verify ATM) I think current API is v1.55 and minimum required compatibility changed to v1.44. I had some other apps with issues complaining about API v1.24/5 after upgrading to Docker v29 a few weeks ago.

THOUGHTS on Docker versions... There were some API changes with Docker v29. I've had some other programs have compatibility problems. (If I remember correctly and pressed for time so can't verify ATM) I think current API is v1.55 and minimum required compatibility changed to v1.44. I had some other apps with issues complaining about API v1.24/5 after upgrading to Docker v29 a few weeks ago.
WiggleWizard commented 2025-12-12 06:17:16 -05:00 (Migrated from github.com)

Thanks for all this info, it's really handy! I'll see if I can upgrade my test cases for the new Docker. I suspect that this is the issue as I'm on Docker v27 with API v1.46.

I'll put a bunch more logging around that area too as a precaution for the next patch update.

Thanks for all this info, it's really handy! I'll see if I can upgrade my test cases for the new Docker. I suspect that this is the issue as I'm on Docker v27 with API v1.46. I'll put a bunch more logging around that area too as a precaution for the next patch update.
WiggleWizard commented 2025-12-14 07:10:08 -05:00 (Migrated from github.com)

I have been testing locally (Windows) with Docker 29.1.2 | API 1.52 and it seems to be functioning correctly.

Once you have a chance, I would greatly appreciate you trying v0.2.3 (doesn't contain any fixes, only extra logging) with the environment variable LOG_LEVEL set to Debug please? That would help hopefully diagnose the lack of on-demand updates.

But from your last logs it looks like it cannot even connect to the Docker sock? Could you confirm you have it bound properly?

I have been testing locally (Windows) with Docker 29.1.2 | API 1.52 and it seems to be functioning correctly. Once you have a chance, I would greatly appreciate you trying v0.2.3 (doesn't contain any fixes, only extra logging) with the environment variable `LOG_LEVEL` set to `Debug` please? That would help hopefully diagnose the lack of on-demand updates. But from your last logs it looks like it cannot even connect to the Docker sock? Could you confirm you have it bound properly?
WiggleWizard commented 2025-12-14 07:55:25 -05:00 (Migrated from github.com)

Fixed now in v0.2.4.

Appreciate your time @bcurran3, it's been incredibly helpful.

Fixed now in v0.2.4. Appreciate your time @bcurran3, it's been incredibly helpful.
bcurran3 commented 2025-12-14 10:55:04 -05:00 (Migrated from github.com)

Glad to help out.

I'm on v0.2.4 thanks to Watchtower at 5 AM. (side note: https://github.com/lminlone/repliqate/issues/25)
I just added repliqate enabled label to portainer and rebuilt it.
All lines in the repliqate log are from 5 AM when it restarted, no updates since.

I did not change log_level (request for v0.2.3 and assumed rescinded for v0.2.4 expecting the problem to be fixed).

-> I do have a theory that the problem MAY be in my environment (all this time?). <-

Busy today, will try testing on another server, most likely tomororw, and report back the results.

Glad to help out. I'm on v0.2.4 thanks to Watchtower at 5 AM. (side note: https://github.com/lminlone/repliqate/issues/25) I just added repliqate enabled label to portainer and rebuilt it. All lines in the repliqate log are from 5 AM when it restarted, no updates since. I did not change log_level (request for v0.2.3 and assumed rescinded for v0.2.4 expecting the problem to be fixed). -> I do have a theory that the problem MAY be in my environment (all this time?). <- Busy today, will try testing on another server, most likely tomororw, and report back the results.
WiggleWizard commented 2025-12-14 12:41:50 -05:00 (Migrated from github.com)

There was an issue that I overlooked, fixed in 0.2.4 with the filters for events not operating as expected. I figured that would have been your issue...the v0.2.3 log level still exists (and will continue to exist) for v0.2.4, so you should be able to turn on debug logging when you have time, for me to dissect at least.

What in particular do you think might be an issue with your environment?

There was an issue that I overlooked, fixed in 0.2.4 with the filters for events not operating as expected. I figured that would have been your issue...the v0.2.3 log level still exists (and will continue to exist) for v0.2.4, so you should be able to turn on debug logging when you have time, for me to dissect at least. What in particular do you think might be an issue with your environment?
bcurran3 commented 2025-12-29 06:23:08 -05:00 (Migrated from github.com)

I've been busy working on my unpublished project (which incorporates/integrates repliqate). When I have a chance (hopefully later this week) I will test and report back.

I haven't had a chance yet to go back and test with repliqate (Mainly because I can't really make use of it until bind mounts are supported without refactoring 280+ Ansible roles.) but the issue might be related to ghost containers. Ghost containers were causing me issues with Homepage and Portainer-CE. I'm guessing the problem was creeping in on repliqate as well. You can read my experience about it here: https://github.com/portainer/portainer/issues/12959

I've been busy working on my unpublished project (which incorporates/integrates repliqate). When I have a chance (hopefully later this week) I will test and report back. I haven't had a chance yet to go back and test with repliqate (Mainly because I can't really make use of it until bind mounts are supported without refactoring 280+ Ansible roles.) but the issue might be related to ghost containers. Ghost containers were causing me issues with Homepage and Portainer-CE. I'm guessing the problem was creeping in on repliqate as well. You can read my experience about it here: https://github.com/portainer/portainer/issues/12959
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lminlone/repliqate#23
No description provided.