private async Task <bool> CheckLink(DockerInfo info, string path) { if (path == null) { return(true); } var link = info.GetGithubLinkOf(path); var resp = await client.GetAsync(link); if (!resp.IsSuccessStatusCode) { Console.WriteLine($"\tBroken link detected for image {info.Image} ({link})"); return(false); } return(true); }
private DockerInfo GetDockerInfo(Image image) { DockerInfo dockerInfo = new DockerInfo(); var name = $"{image.User}/{image.Name}"; bool firstTry = true; retry: switch (name) { case "btglnd": dockerInfo.DockerFilePath = "BTCPayServer.Dockerfile"; dockerInfo.GitLink = "https://github.com/vutov/lnd"; dockerInfo.GitRef = "master"; break; case "docker-compose-builder": dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-compose-builder"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "docker-compose-generator": dockerInfo.DockerFilePath = "docker-compose-generator/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "docker-compose-generator/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-docker"; dockerInfo.GitRef = $"dcg-latest"; break; case "docker-bitcoingold": dockerInfo.DockerFilePath = $"bitcoingold/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Vutov/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "contrib/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lightning"; dockerInfo.GitRef = $"basedon-{image.Tag}"; break; case "groestlcoin/lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/lightning"; dockerInfo.GitRef = $"{image.Tag}"; break; case "lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/ElementsProject/lightning-charge"; dockerInfo.GitRef = $"v{image.Tag.Replace("-standalone", "")}"; break; case "docker-bitcoinplus": dockerInfo.DockerFilePath = $"bitcoinplus/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "groestlcoin-lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-lightning-charge"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "groestlcoin-spark": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-spark"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "librepatron": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/patron"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "isso": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/isso"; dockerInfo.GitRef = $"patron.{image.Tag.Substring("atron.".Length)}"; break; case "docker-woocommerce": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-woocommerce"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "mariadb": dockerInfo.DockerFilePath = $"{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/mariadb"; dockerInfo.GitRef = $"master"; break; case "docker-trezarcoin": dockerInfo.DockerFilePath = $"trezarcoin/1.2.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "lnd": dockerInfo.DockerFilePath = "linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lnd"; dockerInfo.GitRef = $"basedon-{image.Tag}"; break; case "bitcoin": dockerInfo.DockerFilePath = $"Bitcoin/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Bitcoin/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Bitcoin/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Bitcoin/{image.Tag}"; break; case "tor": dockerInfo.DockerFilePath = $"Tor/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Tor/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Tor/{image.Tag}"; break; case "dash": dockerInfo.DockerFilePath = $"Dash/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dash/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dash/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dash/{image.Tag}"; break; case "btcpayserver": dockerInfo.DockerFilePath = "amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "rtl": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.arm32v7"; dockerInfo.GitLink = "https://github.com/ShahanaFarooqui/RTL"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "nbxplorer": dockerInfo.DockerFilePath = "Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.linuxarm32v7"; dockerInfo.GitLink = "https://github.com/dgarage/nbxplorer"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "btctransmuter": dockerInfo.DockerFilePath = "BtcTransmuter/Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "BtcTransmuter/Dockerfile.linuxarm32v7"; dockerInfo.GitLink = "https://github.com/btcpayserver/btctransmuter"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "dogecoin": dockerInfo.DockerFilePath = $"dogecoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/rockstardev/docker-bitcoin"; dockerInfo.GitRef = "feature/dogecoin"; break; case "docker-bitcore": dockerInfo.DockerFilePath = "btx-debian/Dockerfile"; dockerInfo.GitLink = "https://github.com/dalijolijo/btcpayserver-docker-bitcore"; dockerInfo.GitRef = "master"; break; case "docker-feathercoin": dockerInfo.DockerFilePath = $"feathercoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "docker-groestlcoin": dockerInfo.DockerFilePath = $"groestlcoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/NicolasDorier/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "docker-viacoin": dockerInfo.DockerFilePath = $"viacoin/{image.Tag}/docker-viacoin"; dockerInfo.GitLink = "https://github.com/viacoin/docker-viacoin"; dockerInfo.GitRef = "master"; break; case "litecoin": dockerInfo.DockerFilePath = $"Litecoin/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Litecoin/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Litecoin/{image.Tag}"; break; case "docker-monacoin": dockerInfo.DockerFilePath = $"monacoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/wakiyamap/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "nginx": dockerInfo.DockerFilePath = $"stable/stretch/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"stable/stretch/Dockerfile"; dockerInfo.GitLink = "https://github.com/nginxinc/docker-nginx"; dockerInfo.GitRef = $"master"; break; case "docker-gen": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-gen"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "letsencrypt-nginx-proxy-companion": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "btcqbo": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/btcqbo"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "redis": dockerInfo.DockerFilePath = $"5.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/redis"; dockerInfo.GitRef = $"f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c"; break; case "postgres": dockerInfo.DockerFilePath = $"9.6/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"9.6/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/postgres"; dockerInfo.GitRef = $"b7cb3c6eacea93be2259381033be3cc435649369"; break; case "traefik": dockerInfo.DockerFilePath = $"scratch/amd64/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"scratch/arm/Dockerfile"; dockerInfo.GitLink = "https://github.com/containous/traefik-library-image"; dockerInfo.GitRef = $"master"; break; case "spark-wallet": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/shesek/spark-wallet"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; break; default: if (firstTry) { name = $"{image.Name}"; firstTry = false; goto retry; } else { return(null); } } dockerInfo.DockerHubLink = image.DockerHubLink; dockerInfo.Image = image; return(dockerInfo); }
private DockerInfo GetDockerInfo(Image image) { DockerInfo dockerInfo = new DockerInfo(); switch (image.Name) { case "btglnd": dockerInfo.DockerFilePath = "BTCPayServer.Dockerfile"; dockerInfo.GitLink = "https://github.com/vutov/lnd"; dockerInfo.GitRef = "master"; break; case "docker-compose-builder": dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-compose-builder"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "docker-compose-generator": dockerInfo.DockerFilePath = "docker-compose-generator/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "docker-compose-generator/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-docker"; dockerInfo.GitRef = $"dcg-latest"; break; case "docker-bitcoingold": dockerInfo.DockerFilePath = $"bitcoingold/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Vutov/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "clightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/NicolasDorier/lightning"; dockerInfo.GitRef = $"basedon-{image.Tag}"; break; case "lnd": dockerInfo.DockerFilePath = "linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lnd"; dockerInfo.GitRef = $"basedon-{image.Tag}"; break; case "bitcoin": dockerInfo.DockerFilePath = $"Bitcoin/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Bitcoin/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Bitcoin/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Bitcoin/{image.Tag}"; break; case "dash": dockerInfo.DockerFilePath = $"Dash/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dash/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dash/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dash/{image.Tag}"; break; case "btcpayserver": dockerInfo.DockerFilePath = "Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.linuxarm32v7"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "nbxplorer": dockerInfo.DockerFilePath = "Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.linuxarm32v7"; dockerInfo.GitLink = "https://github.com/dgarage/nbxplorer"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "dogecoin": dockerInfo.DockerFilePath = $"dogecoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/rockstardev/docker-bitcoin"; dockerInfo.GitRef = "feature/dogecoin"; break; case "docker-bitcore": dockerInfo.DockerFilePath = "btx-debian/Dockerfile"; dockerInfo.GitLink = "https://github.com/dalijolijo/btcpayserver-docker-bitcore"; dockerInfo.GitRef = "master"; break; case "docker-feathercoin": dockerInfo.DockerFilePath = $"feathercoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "docker-groestlcoin": dockerInfo.DockerFilePath = $"groestlcoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/NicolasDorier/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "docker-viacoin": dockerInfo.DockerFilePath = $"viacoin/{image.Tag}/docker-viacoin"; dockerInfo.GitLink = "https://github.com/viacoin/docker-viacoin"; dockerInfo.GitRef = "master"; break; case "docker-litecoin": dockerInfo.DockerFilePath = $"litecoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/NicolasDorier/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "docker-monacoin": dockerInfo.DockerFilePath = $"monacoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/wakiyamap/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "nginx": dockerInfo.DockerFilePath = $"stable/stretch/Dockerfile"; dockerInfo.GitLink = "https://github.com/nginxinc/docker-nginx"; dockerInfo.GitRef = $"master"; break; case "docker-gen": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-gen"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "letsencrypt-nginx-proxy-companion": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "btcqbo": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/btcqbo"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "redis": dockerInfo.DockerFilePath = $"5.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/redis"; dockerInfo.GitRef = $"f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c"; break; case "postgres": dockerInfo.DockerFilePath = $"9.6/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"9.6/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/postgres"; dockerInfo.GitRef = $"b7cb3c6eacea93be2259381033be3cc435649369"; break; case "traefik": dockerInfo.DockerFilePath = $"scratch/amd64/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"scratch/arm/Dockerfile"; dockerInfo.GitLink = "https://github.com/containous/traefik-library-image"; dockerInfo.GitRef = $"master"; break; case "spark-wallet": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/shesek/spark-wallet"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; break; default: return(null); } dockerInfo.DockerHubLink = image.DockerHubLink; dockerInfo.Image = image; return(dockerInfo); }
private DockerInfo GetDockerInfo(Image image) { DockerInfo dockerInfo = new DockerInfo(); var name = $"{image.User}/{image.Name}"; bool firstTry = true; retry: switch (name) { case "pihole": dockerInfo.GitLink = "https://github.com/pi-hole/docker-pi-hole"; dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "eps": dockerInfo.DockerFilePath = $"EPS/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"EPS/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"EPS/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"EPS/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btglnd": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/vutov/lnd"; dockerInfo.GitRef = "master"; break; case "docker-compose": dockerInfo.DockerFilePath = $"docker-compose/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker-compose/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker-compose/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"docker-compose/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "docker-compose-generator": dockerInfo.DockerFilePath = "docker-compose-generator/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "docker-compose-generator/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "docker-compose-generator/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-docker"; dockerInfo.GitRef = $"dcg-latest"; dockerInfo.SupportedByUs = true; break; case "docker-bitcoingold": dockerInfo.DockerFilePath = $"bitcoingold/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Vutov/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "contrib/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "contrib/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lightning"; dockerInfo.GitRef = $"basedon-{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "groestlcoin/lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/lightning"; dockerInfo.GitRef = $"{image.Tag}"; break; case "lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/ElementsProject/lightning-charge"; dockerInfo.GitRef = $"v{image.Tag.Replace("-standalone", "")}"; dockerInfo.SupportedByUs = true; break; case "docker-bitcoinplus": dockerInfo.DockerFilePath = $"bitcoinplus/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "groestlcoin-lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-lightning-charge"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "groestlcoin-spark": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-spark"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "librepatron": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/patron"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "electrumx": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/lukechilds/docker-electrumx"; dockerInfo.GitRef = $"master"; break; case "eclair": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/ACINQ/eclair"; dockerInfo.GitRef = $"v{image.Tag.Substring("release-".Length)}"; break; case "groestlcoin/eclair": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/eclair"; dockerInfo.GitRef = $"{image.Tag}"; break; case "isso": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/isso"; dockerInfo.GitRef = $"patron.{image.Tag.Substring("atron.".Length)}"; break; case "docker-woocommerce": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-woocommerce"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "mariadb": dockerInfo.DockerFilePath = $"{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/mariadb"; dockerInfo.GitRef = $"master"; break; case "docker-trezarcoin": dockerInfo.DockerFilePath = $"trezarcoin/1.2.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "lnd": dockerInfo.DockerFilePath = "linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lnd"; dockerInfo.GitRef = $"basedon-{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "groestlcoin/lnd": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/lnd"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; case "monero": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/Kukks/monero-docker"; dockerInfo.GitRef = $"x86_64"; break; case "bitcoin": { var tagNoRevision = image.Tag.Split('-').First(); dockerInfo.DockerFilePath = $"Bitcoin/{tagNoRevision}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Bitcoin/{tagNoRevision}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Bitcoin/{tagNoRevision}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Bitcoin/{image.Tag}"; dockerInfo.SupportedByUs = true; break; } case "elements": { var tagNoRevision = image.Tag.Split('-').First(); dockerInfo.DockerFilePath = $"Elements/{tagNoRevision}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Elements/{tagNoRevision}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Elements/{tagNoRevision}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Elements/{image.Tag}"; break; } case "tor": dockerInfo.DockerFilePath = $"Tor/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Tor/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Tor/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Tor/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "dash": dockerInfo.DockerFilePath = $"Dash/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dash/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dash/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dash/{image.Tag}"; break; case "btcpayserver": dockerInfo.DockerFilePath = "amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver"; // v1.0.5.4$<BTCPAY_BUILD_CONFIGURATION> dockerInfo.GitRef = $"v{image.Tag.Substring(0, image.Tag.IndexOf('$'))}"; dockerInfo.SupportedByUs = true; break; case "rtl": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.arm32v7"; dockerInfo.DockerFilePathARM64v8 = "Dockerfile.arm64v8"; dockerInfo.GitLink = "https://github.com/ShahanaFarooqui/RTL"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "nbxplorer": dockerInfo.DockerFilePath = "Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.linuxarm32v7"; dockerInfo.DockerFilePathARM64v8 = "Dockerfile.linuxarm64v8"; dockerInfo.GitLink = "https://github.com/dgarage/nbxplorer"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "ndlc-cli": dockerInfo.DockerFilePath = "amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/dgarage/ndlc"; dockerInfo.GitRef = $"releases/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btctransmuter": dockerInfo.DockerFilePath = "Dockerfiles/amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "Dockerfiles/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "Dockerfiles/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btctransmuter"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "dogecoin": dockerInfo.DockerFilePath = $"Dogecoin/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dogecoin/{image.Tag}"; break; case "docker-bitcore": dockerInfo.DockerFilePath = "docker-bitcored/Dockerfile"; dockerInfo.GitLink = "https://github.com/dalijolijo/btcpayserver-docker-bitcore"; dockerInfo.GitRef = "master"; break; case "docker-feathercoin": dockerInfo.DockerFilePath = $"feathercoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "docker-groestlcoin": dockerInfo.DockerFilePath = $"groestlcoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/docker-groestlcoin"; dockerInfo.GitRef = "master"; break; case "docker-viacoin": dockerInfo.DockerFilePath = $"viacoin/{image.Tag}/docker-viacoin"; dockerInfo.GitLink = "https://github.com/viacoin/docker-viacoin"; dockerInfo.GitRef = "master"; break; case "litecoin": dockerInfo.DockerFilePath = $"Litecoin/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Litecoin/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Litecoin/{image.Tag}"; break; case "docker-monacoin": dockerInfo.DockerFilePath = $"monacoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/wakiyamap/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "nginx": dockerInfo.DockerFilePath = $"stable/stretch/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"stable/stretch/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"stable/stretch/Dockerfile"; dockerInfo.GitLink = "https://github.com/nginxinc/docker-nginx"; dockerInfo.GitRef = image.Tag; dockerInfo.SupportedByUs = true; break; case "docker-gen": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-gen"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "letsencrypt-nginx-proxy-companion": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btcqbo": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/btcqbo"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "redis": dockerInfo.DockerFilePath = $"5.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/redis"; dockerInfo.GitRef = $"f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c"; break; case "postgres": dockerInfo.DockerFilePath = $"9.6/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"9.6/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"9.6/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/postgres"; dockerInfo.GitRef = $"b7cb3c6eacea93be2259381033be3cc435649369"; dockerInfo.SupportedByUs = true; break; case "traefik": dockerInfo.DockerFilePath = $"scratch/Dockerfile"; dockerInfo.GitLink = "https://github.com/containous/traefik-library-image"; dockerInfo.GitRef = $"master"; break; case "spark-wallet": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/shesek/spark-wallet"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "c-lightning-rest": dockerInfo.DockerFilePath = $"amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/Ride-The-Lightning/c-lightning-REST"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "btcpayserver-configurator": dockerInfo.DockerFilePath = $"Dockerfiles/amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfiles/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfiles/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-configurator"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "thunderhub": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/apotdevin/thunderhub"; dockerInfo.GitRef = $"{image.Tag.Split('-')[1]}"; dockerInfo.SupportedByUs = false; break; case "python-teos": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/talaia-labs/python-teos"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-postgresql-"): dockerInfo.DockerFilePath = $"containers/zammad-postgresql/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-elasticsearch-"): dockerInfo.DockerFilePath = $"containers/zammad-elasticsearch/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-"): dockerInfo.DockerFilePath = $"containers/zammad/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "memcached" when image.Tag.EndsWith("alpine"): dockerInfo.DockerFilePath = $"alpine/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/memcached"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "bwt": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/bwt-dev/bwt"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; break; default: if (firstTry) { name = $"{image.Name}"; firstTry = false; goto retry; } else { return(null); } } dockerInfo.DockerHubLink = image.DockerHubLink; dockerInfo.Image = image; return(dockerInfo); }
private DockerInfo GetDockerInfo(Image image) { DockerInfo dockerInfo = new DockerInfo(); var name = $"{image.User}/{image.Name}"; bool firstTry = true; retry: switch (name) { case "pihole": dockerInfo.GitLink = "https://github.com/pi-hole/docker-pi-hole"; dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "eps": dockerInfo.DockerFilePath = $"EPS/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"EPS/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"EPS/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"EPS/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "joinmarket": dockerInfo.DockerFilePath = $"JoinMarket/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"JoinMarket/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"JoinMarket/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"JoinMarket/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btglnd": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/vutov/lnd"; dockerInfo.GitRef = "master"; break; case "docker-compose": dockerInfo.DockerFilePath = $"docker-compose/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker-compose/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker-compose/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"docker-compose/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "docker-compose-generator": dockerInfo.DockerFilePath = "docker-compose-generator/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "docker-compose-generator/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "docker-compose-generator/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-docker"; dockerInfo.GitRef = $"dcg-latest"; dockerInfo.SupportedByUs = true; break; case "tallycoin_connect": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfile.arm32v7"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile.arm64v8"; dockerInfo.GitLink = "https://github.com/dennisreimann/tallycoin_connect"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; case "lnd_lit": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/lightninglabs/lightning-terminal"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; case "docker-bitcoingold": dockerInfo.DockerFilePath = $"bitcoingold/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Vutov/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "contrib/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "contrib/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lightning"; dockerInfo.GitRef = $"basedon-{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "groestlcoin/lightning": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/lightning"; dockerInfo.GitRef = $"{image.Tag}"; break; case "chatwoot": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.GitLink = "https://github.com/chatwoot/chatwoot"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; case "lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/ElementsProject/lightning-charge"; dockerInfo.GitRef = NoRevision($"v{image.Tag.Replace("-standalone", "")}"); dockerInfo.SupportedByUs = true; break; case "docker-bitcoinplus": dockerInfo.DockerFilePath = $"bitcoinplus/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "groestlcoin-lightning-charge": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-lightning-charge"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "groestlcoin-spark": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/groestlcoin-spark"; dockerInfo.GitRef = $"v{image.Tag.Substring("version-".Length)}"; break; case "librepatron": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/patron"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "electrumx": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/lukechilds/docker-electrumx"; dockerInfo.GitRef = $"master"; break; case "eclair": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/ACINQ/eclair"; dockerInfo.GitRef = $"v{image.Tag.Substring("release-".Length)}"; break; case "groestlcoin/eclair": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/eclair"; dockerInfo.GitRef = $"{image.Tag}"; break; case "isso": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/isso"; dockerInfo.GitRef = $"patron.{image.Tag.Substring("atron.".Length)}"; break; case "docker-woocommerce": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-woocommerce"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "mariadb": dockerInfo.DockerFilePath = $"{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/mariadb"; dockerInfo.GitRef = $"master"; break; case "docker-trezarcoin": dockerInfo.DockerFilePath = $"trezarcoin/1.2.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "lnd": dockerInfo.DockerFilePath = "linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/lnd"; dockerInfo.GitRef = $"basedon-{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "groestlcoin/lnd": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/lnd"; dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; case "monero": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.GitLink = "https://github.com/Kukks/monero-docker"; dockerInfo.GitRef = $"x86_64"; break; case "bitcoin": { var tagNoRevision = image.Tag.Split('-').First(); dockerInfo.DockerFilePath = $"Bitcoin/{tagNoRevision}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Bitcoin/{tagNoRevision}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Bitcoin/{tagNoRevision}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Bitcoin/{image.Tag}"; dockerInfo.SupportedByUs = true; break; } case "elements": { var tagNoRevision = image.Tag.Split('-').First(); dockerInfo.DockerFilePath = $"Elements/{tagNoRevision}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Elements/{tagNoRevision}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Elements/{tagNoRevision}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Elements/{image.Tag}"; break; } case "tor": dockerInfo.DockerFilePath = $"Tor/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Tor/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Tor/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Tor/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "dash": dockerInfo.DockerFilePath = $"Dash/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dash/{image.Tag}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dash/{image.Tag}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dash/{image.Tag}"; break; case "btcpayserver": dockerInfo.DockerFilePath = "amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver"; // v1.0.5.4$<BTCPAY_BUILD_CONFIGURATION> dockerInfo.GitRef = $"v{image.Tag.Substring(0, image.Tag.IndexOf('$'))}"; dockerInfo.SupportedByUs = true; break; case "rtl" when image.Tag != "0.10.0": dockerInfo.DockerFilePath = "docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "docker/Dockerfile.arm32v7"; dockerInfo.DockerFilePathARM64v8 = "docker/Dockerfile.arm64v8"; dockerInfo.GitLink = "https://github.com/Ride-The-Lightning/RTL"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "rtl": dockerInfo.DockerFilePath = "Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.arm32v7"; dockerInfo.DockerFilePathARM64v8 = "Dockerfile.arm64v8"; dockerInfo.GitLink = "https://github.com/ShahanaFarooqui/RTL"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "nbxplorer": dockerInfo.DockerFilePath = "Dockerfile.linuxamd64"; dockerInfo.DockerFilePathARM32v7 = "Dockerfile.linuxarm32v7"; dockerInfo.DockerFilePathARM64v8 = "Dockerfile.linuxarm64v8"; dockerInfo.GitLink = "https://github.com/dgarage/nbxplorer"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "ndlc-cli": dockerInfo.DockerFilePath = "amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/dgarage/ndlc"; dockerInfo.GitRef = $"releases/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btctransmuter": dockerInfo.DockerFilePath = "Dockerfiles/amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "Dockerfiles/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "Dockerfiles/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btctransmuter"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "dogecoin": dockerInfo.DockerFilePath = $"Dogecoin/{image.Tag}/linuxamd64.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Dogecoin/{image.Tag}"; break; case "docker-bitcore": dockerInfo.DockerFilePath = "docker-bitcored/Dockerfile"; dockerInfo.GitLink = "https://github.com/dalijolijo/btcpayserver-docker-bitcore"; dockerInfo.GitRef = "master"; break; case "docker-feathercoin": dockerInfo.DockerFilePath = $"feathercoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/ChekaZ/docker"; dockerInfo.GitRef = "master"; break; case "docker-groestlcoin": dockerInfo.DockerFilePath = $"groestlcoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Groestlcoin/docker-groestlcoin"; dockerInfo.GitRef = "master"; break; case "docker-viacoin": dockerInfo.DockerFilePath = $"viacoin/{image.Tag}/docker-viacoin"; dockerInfo.GitLink = "https://github.com/viacoin/docker-viacoin"; dockerInfo.GitRef = "master"; break; case "litecoin": dockerInfo.DockerFilePath = $"Litecoin/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Litecoin/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Litecoin/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Litecoin/{image.Tag}"; break; case "docker-monacoin": dockerInfo.DockerFilePath = $"monacoin/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/wakiyamap/docker-bitcoin"; dockerInfo.GitRef = "master"; break; case "nginx": dockerInfo.DockerFilePath = $"stable/stretch/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"stable/stretch/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"stable/stretch/Dockerfile"; dockerInfo.GitLink = "https://github.com/nginxinc/docker-nginx"; dockerInfo.GitRef = image.Tag; dockerInfo.SupportedByUs = true; break; case "docker-gen": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-gen"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "letsencrypt-nginx-proxy-companion": dockerInfo.DockerFilePath = $"linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion"; dockerInfo.GitRef = $"v{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "btcqbo": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/JeffVandrewJr/btcqbo"; dockerInfo.GitRef = $"v{image.Tag}"; break; case "redis": dockerInfo.DockerFilePath = $"5.0/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/redis"; dockerInfo.GitRef = $"f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c"; break; case "postgres": dockerInfo.DockerFilePath = $"Postgres/{NoRevision(image.Tag)}/linuxamd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Postgres/{NoRevision(image.Tag)}/linuxarm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Postgres/{NoRevision(image.Tag)}/linuxarm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/dockerfile-deps"; dockerInfo.GitRef = $"Postgres/{image.Tag}"; dockerInfo.SupportedByUs = true; break; case "traefik": dockerInfo.DockerFilePath = $"scratch/Dockerfile"; dockerInfo.GitLink = "https://github.com/containous/traefik-library-image"; dockerInfo.GitRef = $"master"; break; case "spark-wallet": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/shesek/spark-wallet"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "c-lightning-rest": dockerInfo.DockerFilePath = $"amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/Ride-The-Lightning/c-lightning-REST"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "btcpayserver-configurator": dockerInfo.DockerFilePath = $"Dockerfiles/amd64.Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfiles/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfiles/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-configurator"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; case "thunderhub": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = "arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = "arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/apotdevin/thunderhub"; dockerInfo.GitRef = $"{image.Tag.Split('-')[1]}"; dockerInfo.SupportedByUs = false; break; case "python-teos": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/talaia-labs/python-teos"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-postgresql-"): dockerInfo.DockerFilePath = $"containers/zammad-postgresql/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-elasticsearch-"): dockerInfo.DockerFilePath = $"containers/zammad-elasticsearch/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "zammad/zammad-docker-compose" when image.Tag.StartsWith("zammad-"): dockerInfo.DockerFilePath = $"containers/zammad/Dockerfile"; dockerInfo.GitLink = "https://github.com/zammad/zammad-docker-compose"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "memcached" when image.Tag.EndsWith("alpine"): dockerInfo.DockerFilePath = $"alpine/Dockerfile"; dockerInfo.GitLink = "https://github.com/docker-library/memcached"; dockerInfo.GitRef = $"master"; dockerInfo.SupportedByUs = false; break; case "bwt": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker/arm32v7.Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker/arm64v8.Dockerfile"; dockerInfo.GitLink = "https://github.com/bwt-dev/bwt"; dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; break; case "sphinx-relay": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/stakwork/sphinx-relay"; dockerInfo.GitRef = $"{image.Tag}"; break; case "lndhub": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfile"; dockerInfo.GitLink = "https://github.com/BlueWallet/LndHub"; dockerInfo.GitRef = $"{image.Tag.Split("@")[0]}"; break; case "fireflyiii/core": dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Dockerfile"; dockerInfo.GitLink = "https://dev.azure.com/Firefly-III/_git/MainImage"; dockerInfo.RawLink = "https://dev.azure.com/Firefly-III/66fb773b-063e-42d7-b6a5-e7729a22e8b3/_apis/git/repositories/e9c3dcf8-4533-4ef1-83cc-75527cab3377/items?path=%2FDockerfile&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=main&resolveLfs=true&%24format=octetStream&api-version=5.0&download=true"; dockerInfo.GitRef = null; break; case "lightninglabs/lightning-terminal": dockerInfo.GitLink = "https://github.com/lightninglabs/lightning-terminal"; dockerInfo.DockerFilePath = $"Dockerfile"; dockerInfo.GitRef = image.Tag.Replace("-path-prefix", ""); break; case "chatwoot/chatwoot": dockerInfo.DockerFilePath = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"docker/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"docker/Dockerfile"; dockerInfo.GitLink = "https://github.com/chatwoot/chatwoot"; dockerInfo.GitRef = $"{image.Tag}"; break; case "podcastindexorg/podcasting20-helipad": dockerInfo.DockerFilePath = $"umbrel/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"umbrel/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"umbrel/Dockerfile"; dockerInfo.GitLink = "https://github.com/Podcastindex-org/helipad"; dockerInfo.GitRef = $"{image.Tag}"; break; case "kukks/nnostr-relay": dockerInfo.DockerFilePath = $"Relay/Dockerfile"; dockerInfo.DockerFilePathARM32v7 = $"Relay/Dockerfile"; dockerInfo.DockerFilePathARM64v8 = $"Relay/Dockerfile"; dockerInfo.GitLink = "https://github.com/kukks/nnostr"; dockerInfo.GitRef = $"Relay/{image.Tag}"; break; default: if (firstTry) { name = $"{image.Name}"; firstTry = false; goto retry; } else { return(null); } } dockerInfo.DockerHubLink = image.DockerHubLink; dockerInfo.Image = image; return(dockerInfo); }