2025-10-09 18:51:07 +02:00

29 lines
915 B
Python

import requests
from dotenv import load_dotenv
import os
load_dotenv()
DOCKER_TOKEN = os.getenv("DOCKER_TOKEN")
DOCKER_USERNAME = os.getenv("DOCKER_USERNAME")
def login_and_get_token():
login_url = "https://hub.docker.com/v2/users/login/"
response = requests.post(login_url,
json={"username": DOCKER_USERNAME, "password": DOCKER_TOKEN})
if response.status_code == 200:
token = response.json()["token"]
return token
else:
print(f"Login failed: {response.status_code} - {response.text}")
def find_package_version_with_tag(repo, tag):
token = login_and_get_token()
headers = {"Authorization": f"JWT {token}"}
tags_url = f"https://hub.docker.com/v2/repositories/{repo}/tags/{tag}?page_size=1"
tags_response = requests.get(tags_url, headers=headers)
id = tags_response.json()["id"]
return id
if __name__ == "__main__":
print(find_package_version_with_tag("pihole/pihole", "latest"))