tangled
alpha
login
or
join now
graham.systems
/
space
0
fork
atom
An experimental IndieWeb site built in Go.
0
fork
atom
overview
issues
pulls
pipelines
add Docker resources
Graham Barber
2 years ago
f3cf8214
4c34a884
+37
2 changed files
expand all
collapse all
unified
split
.dockerignore
Dockerfile
+7
.dockerignore
···
1
1
+
data
2
2
+
.git
3
3
+
.gitignore
4
4
+
.gitkeep
5
5
+
*.md
6
6
+
*.db
7
7
+
node_modules
+30
Dockerfile
···
1
1
+
# Build styles
2
2
+
FROM node:22 AS build-styles
3
3
+
ENV PNPM_HOME="/pnpm"
4
4
+
ENV PATH="$PNPM_HOME:$PATH"
5
5
+
WORKDIR /app
6
6
+
7
7
+
COPY . /app
8
8
+
9
9
+
RUN corepack enable pnpm
10
10
+
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
11
11
+
RUN pnpm run build
12
12
+
13
13
+
FROM golang:1.22-alpine AS build-server
14
14
+
WORKDIR /app
15
15
+
16
16
+
COPY . /app
17
17
+
18
18
+
RUN go mod download
19
19
+
RUN mkdir data
20
20
+
RUN mkdir data/docs
21
21
+
22
22
+
RUN CGO_ENABLED=0 GOOS=linux go build -o /space
23
23
+
24
24
+
FROM scratch
25
25
+
WORKDIR /
26
26
+
COPY --from=build-styles /app/static /static
27
27
+
COPY --from=build-server /app/data /data
28
28
+
COPY --from=build-server /space /space
29
29
+
EXPOSE 80
30
30
+
ENTRYPOINT ["/space"]