Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 10:07
    arnested commented #470
  • 09:52
    mbrandau commented #470
  • 09:51
    mbrandau synchronize #470
  • 09:10
    mbrandau synchronize #470
  • 08:01
    arnested commented #470
  • 07:00
    Jorijn commented #458
  • Apr 04 16:03
    mbrandau edited #470
  • Apr 04 15:05
    simskij commented #358
  • Apr 04 15:05
    simskij commented #358
  • Apr 04 10:49
    deeztek commented #474
  • Apr 04 09:34
    simskij commented #474
  • Apr 04 07:04
    opelx closed #492
  • Apr 04 07:04
    opelx commented #492
  • Apr 03 20:15
    piksel commented #492
  • Apr 03 17:22
    opelx commented #492
  • Apr 03 17:02
    piksel commented #492
  • Apr 03 15:58
    github-actions[bot] commented #492
  • Apr 03 15:57
    opelx labeled #492
  • Apr 03 15:57
    opelx labeled #492
  • Apr 03 15:57
    opelx labeled #492
Torsten Curdt
@tcurdt
@zoispag I don't think that answers the question. I don't want to turn off pulling. Ideally watchtower would also update the container if the image has changed without it pulling.
Ideally something like "check local image cache every 5s and check registries every 15m"
Zois Pagoulatos
@zoispag
So you want both. I don’t think there’s a global or per container option for how often to check for updates. You could maybe use two instances of watchtower to update on different intervals, but I haven’t looked into it.
Torsten Curdt
@tcurdt
@zoispag but except for the different check intervals it should just work for both?
Zois Pagoulatos
@zoispag
@simskij to confirm, but I think so, yes
Simon Aronsson
@simskij
Hey, thanks for pinging me @zoispag
In theory, what you say should be possible using two instances of watchtower. However, you then need to carefully make sure they cant discover one another, or they will kill one another.
One way around this could be to schedule one of them to run once using the —run-once command and cron, and let the other one be permanent using an interval.
Unfortunately, the direction taken early in the project limits our possibilities of having multiple schedules running on one instance.
And @tcurdt, just to be sure i give you a proper warning; I have no idea what will happen if both instances of watchtower try to update the same container at the same time, so I would probably run the one pulling from dockerhub with updates disabled, so that it just pulls new images and lets the one who does not pull do all the heavy lifting in terms of actually updating the containers.
Torsten Curdt
@tcurdt
Thanks for the clarification, guys. I am not really keen on running two instances - that's for sure. Maybe I will stick to --no-pull for now and do other updates manually. Not ideal.
Maybe a work around for the for scheduling could be to have one schedule and then have have either operation run on every n runs? I haven't yet looked into the code to see the limitations.
Could that work, @simskij @zoispag ?
Doing all the scheduling through cron could be an option. Albeit a very ugly one.
Simon Aronsson
@simskij
Could work, although I personally think it’s a feature that serves a very limited use case.
But if it makes sense for you and you can find a reasonable way to implement it, I’d be more than happy to assist with reviews, cheers and what else you might need 😅
Simon Aronsson
@simskij

Hey y’all!

I just released v0.3.11, which will probably start to reach you in an hour or so. If you find any issues with the release, please let me know as soon as possible. This release contains of a lot of different accumulated small fixes.

I also appreciate any help you might be able to pitch in with issues that arise, as my time is limited.

And as always, thank you for using watchtower! 🙏🏼 😅

Zois Pagoulatos
@zoispag
🥳
Mihail Malo
@qm3ster
Henlo
is there a command to just recreate containers despite there not being an update?
Simon Aronsson
@simskij
Hi @qm3ster! At this point, unfortunately not.
Mihail Malo
@qm3ster
Oh well, thank you
Just turned out that changing default logging driver doesn't affect existing containers
Simon Aronsson
@simskij
Ah, not even if you restart the docker daemon?
Zois Pagoulatos
@zoispag
From experience, you need a compose down and compose up for the logging driver change to take effect!
Simon Aronsson
@simskij
@zoispag :+1:
Simon Aronsson
@simskij
This quarantine has great impact on my open-source commitments :sweat_smile:
Zois Pagoulatos
@zoispag
Haha, I can imagine! 😅
Jack c
@soydepr
time="2020-03-27T08:32:18Z" level=info msg="Unable to update container /piholelatest. Proceeding to next.",
time="2020-03-29T11:57:23Z" level=info msg="Unable to update container /watchtower. Proceeding to next.",
time="2020-03-29T11:57:33Z" level=info msg="Unable to update container /upbeat_ganguly. Proceeding to next."
seeing this in log does it mean there is an update for those containers ?
Mihail Malo
@qm3ster
@soydepr try --debug
(and tell us. Don't you dare just find out and not tell us)
@simskij positive or negative impact?
@zoispag that would be EPYC if I initially did compose up and not run -d :v
I was having compose problems on arm64
I mean I have all of my run scripts, but watchtower is just more fun
Jack c
@soydepr
@qm3ster running in debug now line msg not there ill wait a few to see
time="2020-03-29T16:48:51Z" level=debug msg="Sleeping for a second to ensure the docker api client has been properly initialized.",
time="2020-03-29T16:48:52Z" level=debug msg="Retrieving running containers",
time="2020-03-29T16:48:52Z" level=debug msg="There are no additional watchtower containers",
time="2020-03-29T16:48:52Z" level=info msg="Starting Watchtower and scheduling first run: 2020-03-29 16:53:52 +0000 UTC m=+300.981714096"
Mihail Malo
@qm3ster
You did it without --run-once (or whatever) so it didn't check immediately (and exit)
Jack c
@soydepr
ya
but did afer is running
what is this authorization error
time="2020-03-29T16:48:51Z" level=debug msg="Sleeping for a second to ensure the docker api client has been properly initialized.",
time="2020-03-29T16:48:52Z" level=debug msg="Retrieving running containers",
time="2020-03-29T16:48:52Z" level=debug msg="There are no additional watchtower containers",
time="2020-03-29T16:48:52Z" level=info msg="Starting Watchtower and scheduling first run: 2020-03-29 16:53:52 +0000 UTC m=+300.981714096",
time="2020-03-29T16:53:52Z" level=debug msg="Retrieving running containers",
time="2020-03-29T16:53:52Z" level=debug msg="Checking containers for updated images",
time="2020-03-29T16:53:52Z" level=debug msg="No credentials for containrrr in /config.json",
time="2020-03-29T16:53:52Z" level=debug msg="Pulling containrrr/watchtower:latest for /watchtower",
time="2020-03-29T16:53:52Z" level=debug msg="Got image name: containrrr/watchtower:latest",
time="2020-03-29T16:53:52Z" level=debug msg="Got auth value: ",
time="2020-03-29T16:53:53Z" level=debug msg="No new images found for /watchtower",
time="2020-03-29T16:53:53Z" level=debug msg="Pulling portainer/portainer:latest for /upbeat_ganguly",
time="2020-03-29T16:53:53Z" level=debug msg="No credentials for portainer in /config.json",
time="2020-03-29T16:53:53Z" level=debug msg="Got image name: portainer/portainer:latest",
time="2020-03-29T16:53:53Z" level=debug msg="No new images found for /upbeat_ganguly",
time="2020-03-29T16:53:53Z" level=debug msg="Pulling pihole/pihole:latest for /piholelatest",
time="2020-03-29T16:53:53Z" level=debug msg="No credentials for pihole in /config.json",
time="2020-03-29T16:53:53Z" level=debug msg="Got auth value: ",
time="2020-03-29T16:53:53Z" level=debug msg="Got image name: pihole/pihole:latest",
time="2020-03-29T16:53:54Z" level=debug msg="No new images found for /piholelatest",
time="2020-03-29T16:53:54Z" level=debug msg="This is the watchtower container /watchtower",
time="2020-03-29T16:53:54Z" level=debug msg="Scheduled next run: 2020-03-29 16:58:52 +0000 UTC"
Mihail Malo
@qm3ster
@soydepr I don't see any errors
This is just normal operation
There are no Unable to update in there
What you are looking for is debug level messages adjacent to your Unable to update info events
What No credentials for portainer in /config.json means is that you aren't logged in to the docker registry this image is pulled from (Docker Hub in this case) which is fine since all of your images are public.
This could be caused by you not mounting a config.json into the watchtower container or you not being logged in on the host.
VERY NICE
Simon Aronsson
@simskij
As @qm3ster is saying, just normal logs. Disable debug and you wont see them.