|
1 |
| -ARG UBUNTU_VERSION=latest |
2 |
| -FROM ubuntu:${UBUNTU_VERSION} |
| 1 | +FROM jetpackio/devbox:latest |
3 | 2 |
|
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 |
| 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 |
12 | 8 |
|
13 |
| -# Install bridged provider prerequisites |
14 |
| -# See README.md |
15 | 9 |
|
16 |
| -# Install go |
17 |
| -ARG GO_VERSION=1.21.1 |
18 |
| -RUN rm -rf /usr/local/go && \ |
19 |
| - wget -O ${GO_VERSION}.tar.gz https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \ |
20 |
| - tar -C /usr/local -xzf ${GO_VERSION}.tar.gz && \ |
21 |
| - rm ${GO_VERSION}.tar.gz |
| 10 | +RUN devbox run -- echo "Installed Packages." |
22 | 11 |
|
23 |
| -ENV GOPATH=/root/go |
24 |
| -ENV PATH=$PATH:/usr/local/go/bin |
25 |
| - |
26 |
| -# Install go linter |
27 |
| -RUN mkdir -p $GOPATH/bin && \ |
28 |
| - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2 |
29 |
| - |
30 |
| -ENV PATH=$PATH:$GOPATH/bin |
31 |
| - |
32 |
| -# Install pulumictl |
33 |
| -ARG PULUMICTL_VERSION=v0.0.32 |
34 |
| -RUN rm -rf /usr/local/bin/pulumictl && \ |
35 |
| - wget -O pulumictl.${PULUMICTL_VERSION}.tar.gz https://github.com/pulumi/pulumictl/releases/download/${PULUMICTL_VERSION}/pulumictl-${PULUMICTL_VERSION}-linux-amd64.tar.gz && \ |
36 |
| - tar -C /usr/local/bin -xzf pulumictl.${PULUMICTL_VERSION}.tar.gz |
37 |
| - |
38 |
| -# Install nodejs |
39 |
| -ARG NODEJS_VERSION=v20.11.1 |
40 |
| -ARG NODEJS_PKG=node-${NODEJS_VERSION}-linux-x64 |
41 |
| -ARG NODEJS_TARBALL=${NODEJS_PKG}.tar.xz |
42 |
| -RUN rm -rf /usr/local/node && \ |
43 |
| - wget -O ${NODEJS_TARBALL} https://nodejs.org/dist/${NODEJS_VERSION}/${NODEJS_TARBALL} && \ |
44 |
| - tar -C /usr/local -xf ${NODEJS_TARBALL} && \ |
45 |
| - mv /usr/local/${NODEJS_PKG} /usr/local/node |
46 |
| - |
47 |
| -ENV PATH=$PATH:/usr/local/node/bin |
48 |
| - |
49 |
| -# Install yarn |
50 |
| -RUN npm install --global yarn |
51 |
| - |
52 |
| -# Install python and related items |
53 |
| -RUN apt-get install -y python3 && \ |
54 |
| - apt-get install -y python3-setuptools |
55 |
| - |
56 |
| -# Install .NET |
57 |
| -# https://stackoverflow.com/questions/73753672/a-fatal-error-occurred-the-folder-usr-share-dotnet-host-fxr-does-not-exist |
58 |
| -RUN apt-get remove dotnet* && \ |
59 |
| - apt-get remove aspnetcore* && \ |
60 |
| - apt-get remove netstandard& |
61 |
| - |
62 |
| -RUN apt-get update && \ |
63 |
| - apt-get install dotnet-sdk-6.0 -y |
64 |
| - |
65 |
| -# Install Pulumi |
66 |
| -RUN curl -fsSL https://get.pulumi.com | sh |
67 |
| -ENV PATH=$PATH:/root/.pulumi/bin |
| 12 | +RUN devbox shellenv --init-hook >> ~/.profile |
0 commit comments