1- ARG UBUNTU_VERSION=latest
2- FROM ubuntu:${UBUNTU_VERSION}
1+ FROM jetpackio/devbox:latest
32
4- # Update apt-get and install various needed utilities
5- RUN apt-get update && \
6- apt-get install -y curl && \
7- apt-get install -y wget && \
8- apt-get install -y xz-utils && \
9- apt-get install -y make && \
10- apt-get install -y gcc && \
11- apt-get install -y git && \
12- apt-get install -y gh && \
13- apt-get install -y zip
3+ # Installing your devbox project
4+ WORKDIR /code
5+ COPY devbox.json devbox.json
6+ COPY devbox.lock devbox.lock
7+ RUN sudo chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /code
148
15- # Install bridged provider prerequisites
16- # See README.md
179
18- # Install go
19- ARG GO_VERSION=1.21.3
20- RUN rm -rf /usr/local/go && \
21- wget -O ${GO_VERSION}.tar.gz https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
22- tar -C /usr/local -xzf ${GO_VERSION}.tar.gz && \
23- rm ${GO_VERSION}.tar.gz
10+ RUN devbox run -- echo "Installed Packages."
2411
25- ENV GOPATH=/root/go
26- ENV PATH=$PATH:/usr/local/go/bin
27-
28- # Install go linter
29- RUN mkdir -p $GOPATH/bin && \
30- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2
31-
32- ENV PATH=$PATH:$GOPATH/bin
33-
34- # Install pulumictl
35- ARG PULUMICTL_VERSION=v0.0.46
36- RUN rm -rf /usr/local/bin/pulumictl && \
37- wget -O pulumictl.${PULUMICTL_VERSION}.tar.gz https://github.com/pulumi/pulumictl/releases/download/${PULUMICTL_VERSION}/pulumictl-${PULUMICTL_VERSION}-linux-amd64.tar.gz && \
38- tar -C /usr/local/bin -xzf pulumictl.${PULUMICTL_VERSION}.tar.gz
39-
40- # Install nodejs
41- ARG NODEJS_VERSION=v22.13.1
42- ARG NODEJS_PKG=node-${NODEJS_VERSION}-linux-x64
43- ARG NODEJS_TARBALL=${NODEJS_PKG}.tar.xz
44- RUN rm -rf /usr/local/node && \
45- wget -O ${NODEJS_TARBALL} https://nodejs.org/dist/${NODEJS_VERSION}/${NODEJS_TARBALL} && \
46- tar -C /usr/local -xf ${NODEJS_TARBALL} && \
47- mv /usr/local/${NODEJS_PKG} /usr/local/node
48-
49- ENV PATH=$PATH:/usr/local/node/bin
50-
51- # Install yarn
52- RUN npm install --global yarn
53-
54- # Install python and related items
55- RUN apt-get install -y python3 && \
56- apt-get install -y python3-setuptools
57-
58- # Install .NET
59- RUN wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \
60- dpkg -i packages-microsoft-prod.deb && \
61- rm packages-microsoft-prod.deb
62-
63- RUN apt-get update && \
64- apt-get install -y apt-transport-https && \
65- apt-get update && \
66- apt-get install -y dotnet-sdk-6.0
67-
68- # Install Pulumi
69- RUN curl -fsSL https://get.pulumi.com | sh
70- ENV PATH=$PATH:/root/.pulumi/bin
71-
72- # Install upgrade-provider
73- RUN go install github.com/pulumi/upgrade-provider@main
74-
75- # Install sdkman
76- RUN curl -s "https://get.sdkman.io" | bash
77-
78- # Install gradle
79- SHELL ["/bin/bash" , "-c" ]
80- RUN source "$HOME/.sdkman/bin/sdkman-init.sh" && \
81- sdk install java 17.0.17-tem && \
82- sdk install gradle
12+ RUN devbox shellenv --init-hook >> ~/.profile
0 commit comments