45 lines
859 B
Docker
45 lines
859 B
Docker
# Use Alpine as the base image
|
|
FROM alpine:3.20.2
|
|
|
|
# Install necessary packages & Go
|
|
RUN apk add --no-cache \
|
|
alpine-base \
|
|
logrotate \
|
|
dcron \
|
|
go \
|
|
s6-overlay
|
|
|
|
# Set up the s6-overlay configuration
|
|
COPY etc /etc
|
|
|
|
# Set up Go environment
|
|
ENV GOPATH /go
|
|
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
|
|
|
|
# Copy the Go application
|
|
COPY main.go /app/main.go
|
|
|
|
# Build the Go application
|
|
RUN go build -o /usr/local/bin/myapp /app/main.go
|
|
|
|
# Set up syslog
|
|
#COPY syslog.conf /etc/syslog.conf
|
|
#RUN mkdir -p /var/log/syslog
|
|
|
|
# Set up logrotate
|
|
#COPY logrotate.conf /etc/logrotate.conf
|
|
|
|
# Set up watchdog
|
|
#COPY watchdog.conf /etc/watchdog.conf
|
|
|
|
# Copy your application
|
|
# COPY myapp /usr/local/bin/myapp
|
|
|
|
# Set up s6 service for your app
|
|
#COPY run /etc/services.d/myapp/run
|
|
|
|
ENV LOG_LEVEL=WARNING
|
|
|
|
# Use s6-overlay as the entrypoint
|
|
ENTRYPOINT ["/init"]
|