forked from renovatebot/docker-renovate-full
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
119 lines (81 loc) · 3.28 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# renovate: datasource=npm depName=renovate versioning=npm
ARG RENOVATE_VERSION=37.59.7
# Base image
#============
FROM ghcr.io/containerbase/base:9.24.0@sha256:82e02e48136e3d3e5d5d1bafd59acb5dbcfdf72b28f012de71757edeb203fc3d AS base
LABEL name="renovate"
LABEL org.opencontainers.image.source="https://github.com/renovatebot/renovate" \
org.opencontainers.image.url="https://renovatebot.com" \
org.opencontainers.image.licenses="AGPL-3.0-only"
# prepare all tools
RUN prepare-tool all
# renovate: datasource=node
RUN install-tool node v18.18.2
# renovate: datasource=npm versioning=npm
RUN install-tool npm 10.2.3
# renovate: datasource=npm versioning=npm
RUN install-tool yarn 1.22.19
WORKDIR /usr/src/app
# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker v24.0.7
# renovate: datasource=adoptium-java
RUN install-tool java 17.0.9+9
# renovate: datasource=gradle-version versioning=gradle
RUN install-tool gradle 8.4
# renovate: datasource=github-releases lookupName=containerbase/erlang-prebuild versioning=docker
RUN install-tool erlang 26.1.2.0
# renovate: datasource=docker versioning=docker
RUN install-tool elixir 1.15.7
# renovate: datasource=github-releases lookupName=containerbase/php-prebuild
RUN install-tool php 8.2.12
# renovate: datasource=github-releases lookupName=composer/composer
RUN install-tool composer 2.6.5
# renovate: datasource=golang-version
RUN install-tool golang 1.21.4
# renovate: datasource=github-releases lookupName=containerbase/python-prebuild
RUN install-tool python 3.11.5
# renovate: datasource=pypi
RUN install-tool pipenv 2023.11.14
# renovate: datasource=github-releases lookupName=python-poetry/poetry
RUN install-tool poetry 1.7.0
# renovate: datasource=pypi
RUN install-tool hashin 0.17.0
# renovate: datasource=pypi
RUN install-tool pip-tools 7.3.0
# renovate: datasource=docker versioning=docker
RUN install-tool rust 1.73.0
# renovate: datasource=github-releases lookupName=containerbase/ruby-prebuild
RUN install-tool ruby 3.2.2
# renovate: datasource=rubygems versioning=ruby
RUN install-tool bundler 2.4.22
# renovate: datasource=rubygems versioning=ruby
RUN install-tool cocoapods 1.14.2
# renovate: datasource=docker lookupName=mcr.microsoft.com/dotnet/sdk
RUN install-tool dotnet 7.0.404
# renovate: datasource=npm versioning=npm
RUN install-tool pnpm 8.10.2
# renovate: datasource=npm versioning=npm
RUN install-tool lerna 7.4.2
# renovate: datasource=github-releases lookupName=helm/helm
RUN install-tool helm v3.13.1
# renovate: datasource=github-releases lookupName=jsonnet-bundler/jsonnet-bundler
RUN install-tool jb v0.5.1
# renovate: datasource=github-tags packageName=NixOS/nix
RUN install-tool nix 2.18.1
ENV RENOVATE_X_IGNORE_NODE_WARN=true
ENV RENOVATE_BINARY_SOURCE=global
# exec helper
COPY bin/ /usr/local/bin/
CMD ["renovate"]
ARG RENOVATE_VERSION
RUN install-tool renovate
# Compabillity, so `config.js` can access renovate and deps
RUN ln -sf /opt/containerbase/tools/renovate/${RENOVATE_VERSION}/node_modules ./node_modules;
RUN set -ex; \
renovate --version; \
renovate-config-validator; \
node -e "new require('re2')('.*').exec('test')"; \
true
LABEL org.opencontainers.image.version="${RENOVATE_VERSION}"
# Numeric user ID for the ubuntu user. Used to indicate a non-root user to OpenShift
USER 1000