heating-monitor/Dockerfile.web

29 lines
800 B
Docker
Raw Normal View History

2024-11-28 22:53:45 +01:00
FROM golang:1.21.4
2024-11-28 23:01:05 +01:00
# Set default build-time value, not persisted in the container
ARG DOCKER_ENV=production
# Set runtime environment variable inside the container
ENV DOCKER_ENV=${DOCKER_ENV}
2024-11-28 22:53:45 +01:00
WORKDIR /code
RUN echo "Building with DOCKER_ENV=${DOCKER_ENV}"
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go mod tidy && \
if [ "$DOCKER_ENV" = "local" ]; then \
echo "Local environment detected, installing Air..."; \
go install github.com/cosmtrek/air@v1.49.0; \
fi
CMD if [ "$DOCKER_ENV" = "local" ]; then \
echo "Local environment detected, running Air..." && \
air -c .air.web.toml; \
else \
echo "Production environment detected, building and running web..."; \
go build -o tmp/web ./cmd/web/main.go && ./tmp/web; \
2024-11-28 22:53:45 +01:00
fi