-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDockerfile
More file actions
73 lines (68 loc) · 4.45 KB
/
Dockerfile
File metadata and controls
73 lines (68 loc) · 4.45 KB
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
FROM golang:1.25-alpine AS builder
ENV CGO_ENABLED=0
WORKDIR /backend
COPY vm/go.* ./
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
go mod download
COPY vm/. .
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
go build -trimpath -ldflags="-s -w" -o bin/service
FROM --platform=$BUILDPLATFORM node:22.20-alpine3.22 AS client-builder
WORKDIR /ui
# cache packages in layer
COPY ui/package.json /ui/package.json
COPY ui/package-lock.json /ui/package-lock.json
RUN --mount=type=cache,target=/usr/src/app/.npm \
npm set cache /usr/src/app/.npm && \
npm ci
# install
COPY ui /ui
RUN npm run build
FROM alpine
LABEL org.opencontainers.image.title="LocalStack" \
org.opencontainers.image.description="Extension of Localstack for Docker desktop" \
org.opencontainers.image.vendor="LocalStack GmbH" \
com.docker.desktop.extension.api.version=">= 0.2.3" \
org.opencontainers.image.licenses=Apache-2.0 \
org.opencontainers.image.version=0.3.1 \
com.docker.extension.categories="cloud-development,testing-tools" \
com.docker.desktop.extension.icon="https://avatars.githubusercontent.com/u/28732122?v=4" \
com.docker.extension.screenshots="[ \
{\"alt\": \"System status\", \"url\": \"https://raw.githubusercontent.com/localstack/localstack-docker-extension/main/.github/images/1-systemStatus.png\"}, \
{\"alt\": \"Edit configurations\", \"url\": \"https://raw.githubusercontent.com/localstack/localstack-docker-extension/main/.github/images/2-configuration.png\"}, \
{\"alt\": \"Watch logs of the LocalStack running container \", \"url\": \"https://raw.githubusercontent.com/localstack/localstack-docker-extension/main/.github/images/3-logs.png\"} \
]" \
com.docker.extension.detailed-description="The LocalStack Extension for Docker Desktop enables developers working with LocalStack to run their AWS applications or Lambdas entirely \
on their local machine without connecting to a remote cloud provider! LocalStack empowers developers to use over 75+ AWS services locally while helping them simplify their testing \
and development workflow. LocalStack supports a comprehensive list of APIs, which you can view on our <a href=\"https://docs.localstack.cloud/user-guide/aws/feature-coverage/\"> \
Feature coverage page</a>. <br><br> \
Make sure to have the option \"Show Docker Extensions system containers\" enabled. You can enable it by going to Settings > Extensions > Show Docker Extensions system containers \
<h2>This extension supports the following main features:</h2>\
<ul>\
<li> Control LocalStack: Start, stop, and restart LocalStack from the Docker Desktop. You can also see the current status of your LocalStack instance and navigate to LocalStack Web Application. </li>\
<li> LocalStack insights: You can see the log information of the LocalStack instance and all the available services and their status on the service page. </li>\
<li> LocalStack configurations: You can manage and use your profiles via configurations and create new configurations for your LocalStack instance. </li>\
</ul>" \
com.docker.extension.publisher-url="https://localstack.cloud/" \
com.docker.extension.additional-urls="[ \
{\"title\":\"GitHub Repository\", \"url\":\"https://github.com/localstack/localstack-docker-extension\"}, \
{\"title\":\"Feedback and Issues\", \"url\":\"https://github.com/localstack/localstack-docker-extension/issues\"}\
]" \
com.docker.extension.changelog="https://github.com/localstack/localstack-docker-extension/blob/main/CHANGELOG.md"
COPY --from=builder /backend/bin/service /
COPY docker-compose.yaml .
COPY metadata.json .
COPY localstack.svg .
COPY --from=client-builder /ui/build ui
COPY --chmod=0755 scripts/windows/checkWSLOS.cmd /windows/checkWSLOS.cmd
COPY --chmod=0755 scripts/windows/checkUser.cmd /windows/checkUser.cmd
COPY --chmod=0755 scripts/darwin/checkUser.sh /darwin/checkUser.sh
COPY --chmod=0755 scripts/linux/checkUser.sh /linux/checkUser.sh
COPY --chmod=0755 binaries/windows/localstack-windows-amd.exe /windows/localstack-windows-amd.exe
COPY --chmod=0755 binaries/darwin/localstack-darwin-amd /darwin/localstack-darwin-amd
COPY --chmod=0755 binaries/darwin/localstack-darwin-arm /darwin/localstack-darwin-arm
COPY --chmod=0755 binaries/linux/localstack-linux-arm /linux/localstack-linux-arm
COPY --chmod=0755 binaries/linux/localstack-linux-amd /linux/localstack-linux-amd
CMD ["/service", "-socket", "/run/guest-services/extension-LocalStack.sock"]