23793141d1898188728c2e00f6ea0c0e3f0e98ea
- Author
- Ayman Bagabas <ayman.bagabas@gmail.com>
- Committer
- Ayman Bagabas <ayman.bagabas@gmail.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/.goreleaser.yml b/.goreleaser.yml
2index 005e159ce09fd7f59d455bb4b9099d4753eb96cc..64840b0067b07d9f86dd11230833a4b9d79e7d44 100644
3--- a/.goreleaser.yml
4+++ b/.goreleaser.yml
5@@ -11,27 +11,169 @@ before:
6 builds:
7 - id: "soft-serve"
8 binary: "soft-serve"
9- ldflags: -s -w -X main.Version={{ .Commit }}-snapshot -X main.CommitSHA={{ .Commit }}
10+ ldflags: -s -w -X main.Version=v{{ .Version }} -X main.CommitSHA={{ .Commit }}
11 goos:
12 - linux
13+ # - darwin
14+ # - windows
15 goarch:
16 - amd64
17+ - arm64
18+ - "386"
19+ - arm
20+ goarm:
21+ - "6"
22+ - "7"
23
24 dockers:
25 - image_templates:
26- - "ghcr.io/charmbracelet/soft-serve-internal:snapshot"
27- - "ghcr.io/charmbracelet/soft-serve-internal:{{ .Commit }}-snapshot"
28+ - "charmcli/soft-serve:latest-amd64"
29+ - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
30+ - "charmcli/soft-serve:v{{ .Version }}-amd64"
31+ - "ghcr.io/charmbracelet/soft-serve:latest-amd64"
32+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
33+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64"
34 ids: [soft-serve]
35 goarch: amd64
36 build_flag_templates:
37 - --platform=linux/amd64
38 - --label=org.opencontainers.image.title={{ .ProjectName }}
39 - --label=org.opencontainers.image.description={{ .ProjectName }}
40- - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve-internal
41- - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve-internal
42- - --label=org.opencontainers.image.version={{ .Commit }}-snapshot
43+ - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
44+ - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
45+ - --label=org.opencontainers.image.version=v{{ .Version }}
46 - --label=org.opencontainers.image.created={{ .Date }}
47 - --label=org.opencontainers.image.revision={{ .FullCommit }}
48 - --label=org.opencontainers.image.licenses=MIT
49 dockerfile: Dockerfile
50 use: buildx
51+ - image_templates:
52+ - "charmcli/soft-serve:latest-i386"
53+ - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
54+ - "charmcli/soft-serve:v{{ .Version }}-i386"
55+ - "ghcr.io/charmbracelet/soft-serve:latest-i386"
56+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
57+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386"
58+ ids: [soft-serve]
59+ goarch: "386"
60+ build_flag_templates:
61+ - --platform=linux/i386
62+ - --label=org.opencontainers.image.title={{ .ProjectName }}
63+ - --label=org.opencontainers.image.description={{ .ProjectName }}
64+ - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
65+ - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
66+ - --label=org.opencontainers.image.version=v{{ .Version }}
67+ - --label=org.opencontainers.image.created={{ .Date }}
68+ - --label=org.opencontainers.image.revision={{ .FullCommit }}
69+ - --label=org.opencontainers.image.licenses=MIT
70+ dockerfile: Dockerfile
71+ use: buildx
72+ - image_templates:
73+ - "charmcli/soft-serve:latest-arm64"
74+ - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
75+ - "charmcli/soft-serve:v{{ .Version }}-arm64"
76+ - "ghcr.io/charmbracelet/soft-serve:latest-arm64"
77+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
78+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64"
79+ ids: [soft-serve]
80+ goarch: arm64
81+ build_flag_templates:
82+ - --platform=linux/arm64
83+ - --label=org.opencontainers.image.title={{ .ProjectName }}
84+ - --label=org.opencontainers.image.description={{ .ProjectName }}
85+ - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
86+ - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
87+ - --label=org.opencontainers.image.version=v{{ .Version }}
88+ - --label=org.opencontainers.image.created={{ .Date }}
89+ - --label=org.opencontainers.image.revision={{ .FullCommit }}
90+ - --label=org.opencontainers.image.licenses=MIT
91+ dockerfile: Dockerfile
92+ use: buildx
93+ - image_templates:
94+ - "charmcli/soft-serve:latest-armv6"
95+ - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
96+ - "charmcli/soft-serve:v{{ .Version }}-armv6"
97+ - "ghcr.io/charmbracelet/soft-serve:latest-armv6"
98+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
99+ - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv6"
100+ ids: [soft-serve]
101+ goarch: arm
102+ goarm: "6"
103+ build_flag_templates:
104+ - --platform=linux/arm/v6
105diff --git a/Dockerfile b/Dockerfile
106new file mode 100644
107index 0000000000000000000000000000000000000000..c1925dcdd73d000a514273a693c803fbc999a310
108--- /dev/null
109+++ b/Dockerfile
110@@ -0,0 +1,22 @@
111+FROM alpine:latest
112+
113+RUN apk update && apk add --update git && rm -rf /var/cache/apk/*
114+
115+COPY soft-serve /usr/local/bin/soft-serve
116+
117+# Create directories
118+WORKDIR /soft-serve
119+# Expose data volume
120+VOLUME /soft-serve
121+
122+# Environment variables
123+ENV SOFT_SERVE_KEY_PATH "/soft-serve/ssh/soft_serve_server_ed25519"
124+ENV SOFT_SERVE_INITIAL_ADMIN_KEY ""
125+ENV SOFT_SERVE_REPO_PATH "/soft-serve/repos"
126+
127+# Expose ports
128+# SSH
129+EXPOSE 23231/tcp
130+
131+# Set the default command
132+ENTRYPOINT [ "/usr/local/bin/soft-serve" ]