mirror of
https://github.com/bdnugget/Pixel-Editor.git
synced 2026-11-07 09:17:36 +00:00
38 lines
957 B
Docker
38 lines
957 B
Docker
FROM golang:1.22-alpine AS builder
|
|
|
|
# Install required system dependencies for Fyne
|
|
RUN apk add --no-cache gcc g++ musl-dev xorg-server-dev \
|
|
libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev \
|
|
libxi-dev mesa-dev
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy go mod files first for better caching
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
# Copy the rest of the application
|
|
COPY . .
|
|
|
|
# Build the application
|
|
RUN go build -o pixeleditor ./src/pixel.go
|
|
|
|
# Use a lightweight Alpine image for the final image
|
|
FROM alpine:latest
|
|
|
|
# Install required runtime dependencies for Fyne applications
|
|
RUN apk add --no-cache xorg-server mesa-gl mesa-dri-gallium \
|
|
libx11 libxcursor libxrandr libxinerama libxi \
|
|
dbus-x11 ttf-dejavu
|
|
|
|
# Set environment variables for X11
|
|
ENV DISPLAY=:0
|
|
ENV XAUTHORITY=/tmp/.Xauthority
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy the built executable from the builder stage
|
|
COPY --from=builder /app/pixeleditor .
|
|
|
|
# Set the entry point
|
|
ENTRYPOINT ["./pixeleditor"] |