Spaces:
Configuration error
Configuration error
| # Gunakan image dasar Golang versi 1.24.1 | |
| FROM golang:1.24.1 AS builder | |
| # Set working directory | |
| WORKDIR /app | |
| # Copy go.mod dan go.sum | |
| COPY go.mod go.sum ./ | |
| # Download dependencies | |
| RUN go mod download | |
| # Copy seluruh kode | |
| COPY . . | |
| # Build aplikasi | |
| # RUN go build -o /app/main . | |
| # Build aplikasi untuk Linux | |
| RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /app/main . | |
| # Stage 2: Gunakan image runtime yang lebih kecil | |
| FROM alpine:latest | |
| # Set working directory | |
| WORKDIR /app | |
| # Install tzdata | |
| RUN apk update && apk add --no-cache tzdata | |
| # Set the timezone environment variable | |
| ENV TZ="Asia/Jakarta" | |
| # Copy hasil build dari builder ke image runtime | |
| COPY --from=builder /app/main . | |
| # Copy folder utils (termasuk file seeder) dari builder ke runtime | |
| COPY --from=builder /app/utils ./utils | |
| # Copy file .env untuk konfigurasi environment | |
| COPY .env .env | |
| RUN chmod +x /app/main | |
| # Jalankan aplikasi | |
| CMD ["./main"] | |