mirror of https://github.com/perkeep/perkeep.git
website: move to Fly
Sadly I did this all once (and more completely) but then lost the commit. So this is a re-do. The sharing demo stuff isn't yet complete. Updates #1658 etc
This commit is contained in:
parent
e1a04f92ed
commit
cf744db5bf
|
@ -0,0 +1,34 @@
|
||||||
|
FROM golang:1.21-bookworm AS build
|
||||||
|
|
||||||
|
WORKDIR /go
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates curl netbase wget git
|
||||||
|
|
||||||
|
WORKDIR /perkeep
|
||||||
|
ADD go.mod .
|
||||||
|
ADD go.sum .
|
||||||
|
|
||||||
|
RUN go version && go mod download
|
||||||
|
|
||||||
|
ADD . .
|
||||||
|
|
||||||
|
#RUN git fetch --unshallow || true
|
||||||
|
|
||||||
|
RUN git log | git shortlog -sen > /perkeep-gitstats.txt
|
||||||
|
|
||||||
|
RUN go build -o /bin/pk-web ./website/pk-web
|
||||||
|
#RUN go build -o /bin/perkeepd ./server/perkeepd
|
||||||
|
|
||||||
|
FROM debian:bookworm
|
||||||
|
|
||||||
|
COPY --from=build /bin/pk-web /bin/pk-web
|
||||||
|
#COPY --from=build /bin/perkeepd /bin/perkeepd
|
||||||
|
COPY --from=build /perkeep-gitstats.txt /perkeep-gitstats.txt
|
||||||
|
|
||||||
|
ADD website /var/perkeep/website
|
||||||
|
ADD doc /var/perkeep/doc
|
||||||
|
ADD pkg /var/perkeep/pkg
|
||||||
|
ADD cmd /var/perkeep/cmd
|
||||||
|
ADD server /var/perkeep/server
|
||||||
|
|
||||||
|
CMD ["/bin/pk-web", "--root=/var/perkeep/website", "--gitlog-file=/perkeep-gitstats.txt"]
|
9
Makefile
9
Makefile
|
@ -23,3 +23,12 @@ dockerbuilddev:
|
||||||
|
|
||||||
dockerpushdev: dockerbuilddev
|
dockerpushdev: dockerbuilddev
|
||||||
docker push gcr.io/perkeep-containers/perkeep-dev-$(USER):latest
|
docker push gcr.io/perkeep-containers/perkeep-dev-$(USER):latest
|
||||||
|
|
||||||
|
webbuild:
|
||||||
|
docker build -t registry.fly.io/perkeep-website -f Dockerfile.website .
|
||||||
|
|
||||||
|
web-push-prod:
|
||||||
|
flyctl deploy -a perkeep-website
|
||||||
|
|
||||||
|
web-push-staging:
|
||||||
|
flyctl deploy -a perkeep-staging
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
app = "perkeep-website"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
dockerfile = "Dockerfile.website"
|
||||||
|
|
||||||
|
[deploy]
|
||||||
|
strategy = "immediate"
|
||||||
|
|
||||||
|
[[services]]
|
||||||
|
internal_port = 31798
|
||||||
|
protocol = "tcp"
|
||||||
|
|
||||||
|
[[services.ports]]
|
||||||
|
handlers = ["http"]
|
||||||
|
port = 80
|
||||||
|
force_https = true # optional
|
||||||
|
|
||||||
|
[[services.ports]]
|
||||||
|
handlers = ["tls", "http"]
|
||||||
|
port = "443"
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ func parseLine(l string) (name, email string, commits int, err error) {
|
||||||
|
|
||||||
func gitShortlog() *exec.Cmd {
|
func gitShortlog() *exec.Cmd {
|
||||||
if *shortLogFile != "" {
|
if *shortLogFile != "" {
|
||||||
return exec.Command("/bin/bash", "-c", "cat", *shortLogFile)
|
return exec.Command("cat", *shortLogFile)
|
||||||
}
|
}
|
||||||
return exec.Command("/bin/bash", "-c", "git log | git shortlog -sen")
|
return exec.Command("/bin/bash", "-c", "git log | git shortlog -sen")
|
||||||
}
|
}
|
||||||
|
@ -136,9 +136,11 @@ func genContribPage() ([]byte, error) {
|
||||||
// Add URLs and roles
|
// Add URLs and roles
|
||||||
for email, m := range urlsMap {
|
for email, m := range urlsMap {
|
||||||
a := byEmail[email]
|
a := byEmail[email]
|
||||||
if a != nil {
|
if a == nil {
|
||||||
a.add(&m)
|
log.Printf("skipping email %q", email)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
a.add(&m)
|
||||||
if len(m.Names) > 0 {
|
if len(m.Names) > 0 {
|
||||||
a.Names = []string{m.Names[0]}
|
a.Names = []string{m.Names[0]}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue