discord-radio-bot/Dockerfile
2025-05-07 10:12:54 +02:00

45 lines
963 B
Docker

FROM golang:1.22-alpine AS builder
# Install build dependencies
RUN apk add --no-cache git
# Set working directory
WORKDIR /app
# Copy go mod and sum files
COPY go.mod go.sum ./
# Download dependencies
RUN go mod download
# Copy source code
COPY *.go ./
# Build the application
RUN CGO_ENABLED=0 GOOS=linux go build -o discord-europa-fm
# Use a smaller base image for the final stage
FROM alpine:latest
# Install ffmpeg
RUN apk add --no-cache ffmpeg ca-certificates
# Copy the built executable
WORKDIR /app
COPY --from=builder /app/discord-europa-fm .
# Environment variables
ENV DISCORD_TOKEN="" \
DEBUG="" \
GUILD_ID=""
# Run the bot
CMD if [ -n "$DEBUG" ] && [ -n "$GUILD_ID" ]; then \
./discord-europa-fm -debug -guild "$GUILD_ID"; \
elif [ -n "$DEBUG" ]; then \
./discord-europa-fm -debug; \
elif [ -n "$GUILD_ID" ]; then \
./discord-europa-fm -guild "$GUILD_ID"; \
else \
./discord-europa-fm; \
fi