-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
73 lines (54 loc) · 1.94 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
# renovate: datasource=docker depName=ghcr.io/containerbase/base
ARG CONTAINERBASE_VERSION=13.5.3
FROM ghcr.io/containerbase/base:${CONTAINERBASE_VERSION} as containerbase
FROM ghcr.io/containerbase/ubuntu:24.04@sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab
ARG CONTAINERBASE_VERSION
ARG APT_HTTP_PROXY
LABEL org.opencontainers.image.source="https://github.com/containerbase/gitpod" \
org.opencontainers.image.version="${CONTAINERBASE_VERSION}"
ARG USER_NAME=gitpod
ARG USER_ID=33333
ARG PRIMARY_GROUP_ID=33333
# Set env and shell
ENV BASH_ENV=/usr/local/etc/env ENV=/usr/local/etc/env
SHELL ["/bin/bash" , "-c"]
# This entry point ensures that dumb-init is run
ENTRYPOINT [ "docker-entrypoint.sh" ]
# Set up containerbase
COPY --from=containerbase /usr/local/sbin/ /usr/local/sbin/
COPY --from=containerbase /usr/local/containerbase/ /usr/local/containerbase/
RUN install-containerbase
# add required gitpod and other system packages
RUN set -ex; \
install-apt \
g++ \
locales \
make \
shellcheck \
sudo \
; \
locale-gen en_US.UTF-8; \
true
# allow sudo without password
RUN set e; \
echo "$USER_NAME ALL = NOPASSWD: ALL" > /etc/sudoers.d/$USER_NAME; \
chmod 0440 /etc/sudoers.d/$USERNAME; \
sudo id; \
true
# renovate: datasource=github-tags packageName=git/git
RUN install-tool git v2.47.1
# mark all directories as safe
RUN git config --system --add safe.directory '*'
# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker v27.4.1
# renovate: datasource=github-releases packageName=containerbase/node-prebuild versioning=node
RUN install-tool node 20.18.1
# enable buildin corepack
RUN corepack enable
# renovate: datasource=github-releases packageName=containerbase/python-prebuild
RUN install-tool python 3.13.1
# prepare some tools for gitpod
#RUN prepare-tool python
USER $USER_NAME
# disable anoying download promt
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0