mirror of
https://github.com/fosrl/newt.git
synced 2025-05-13 05:30:39 +01:00
Clean up
This commit is contained in:
parent
447a983790
commit
a88701acf1
4 changed files with 59 additions and 1 deletions
6
.dockerignore
Normal file
6
.dockerignore
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.gitignore
|
||||||
|
.dockerignore
|
||||||
|
newt
|
||||||
|
*.json
|
||||||
|
README.md
|
||||||
|
Makefile
|
31
Dockerfile
31
Dockerfile
|
@ -0,0 +1,31 @@
|
||||||
|
FROM golang:1.21.5-alpine AS builder
|
||||||
|
|
||||||
|
# Set the working directory inside the container
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy go mod and sum files
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
|
||||||
|
# Download all dependencies
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
# Copy the source code into the container
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Build the application
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /newt
|
||||||
|
|
||||||
|
# Start a new stage from scratch
|
||||||
|
FROM ubuntu:22.04 AS runner
|
||||||
|
|
||||||
|
# Copy the pre-built binary file from the previous stage and the entrypoint script
|
||||||
|
COPY --from=builder /newt /usr/local/bin/
|
||||||
|
COPY entrypoint.sh /
|
||||||
|
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
# Copy the entrypoint script
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
|
# Command to run the executable
|
||||||
|
CMD ["newt"]
|
|
@ -1 +1 @@
|
||||||
# newt
|
# Newt
|
||||||
|
|
21
entrypoint.sh
Normal file
21
entrypoint.sh
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Sample from https://github.com/traefik/traefik-library-image/blob/5070edb25b03cca6802d75d5037576c840f73fdd/v3.1/alpine/entrypoint.sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# first arg is `-f` or `--some-option`
|
||||||
|
if [ "${1#-}" != "$1" ]; then
|
||||||
|
set -- newt "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if our command is a valid newt subcommand, let's invoke it through newt instead
|
||||||
|
# (this allows for "docker run newt version", etc)
|
||||||
|
if newt "$1" --help >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
set -- newt "$@"
|
||||||
|
else
|
||||||
|
echo "= '$1' is not a newt command: assuming shell execution." 1>&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$@"
|
Loading…
Reference in a new issue