# A fork of Dockerfile that doesn't hard code GOARCH and that uses wait-for to wait # until the postgres server is up. Meant to be used in the docker-compose file for self hosting. FROM golang:1.18 AS builder COPY go.mod ./ COPY go.sum ./ RUN unset GOPATH; go mod download COPY . ./ RUN unset GOPATH; go build -o /server -ldflags "-X main.ReleaseVersion=v0.`cat VERSION`" backend/server/server.go FROM golang:1.18 RUN apt-get update && apt-get install -y netcat # Downlaod wait-for from a specific commit hash. This ensures that the owner of wait-for isn't in our TCB (though Github still is) RUN curl https://raw.githubusercontent.com/eficode/wait-for/59bec22851ba83e9cc735a67a7d961f8aae2cd85/wait-for > /wait-for RUN chmod +x /wait-for COPY --from=builder /server /server CMD ["/wait-for", "postgres:5432", "--", "/server"]