ci: make docker container wait properly for database to come up

This commit is contained in:
Ferdinand Mütsch 2021-02-06 10:43:32 +01:00
parent 38ae41611f
commit 22260ceb0d
3 changed files with 14 additions and 11 deletions

View File

@ -6,6 +6,9 @@ WORKDIR /src
ADD ./go.mod .
RUN go mod download && go get github.com/markbates/pkger/cmd/pkger
RUN curl "https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh" -o wait-for-it.sh && \
chmod +x wait-for-it.sh
ADD . .
RUN go generate && go build -o wakapi
@ -13,7 +16,8 @@ WORKDIR /app
RUN cp /src/wakapi . && \
cp /src/config.default.yml config.yml && \
sed -i 's/listen_ipv6: ::1/listen_ipv6: /g' config.yml && \
cp /src/wait-for-it.sh .
cp /src/wait-for-it.sh . && \
cp /src/entrypoint.sh .
# Run Stage
@ -41,4 +45,4 @@ COPY --from=build-env /app .
VOLUME /data
ENTRYPOINT ./wait-for-it.sh
ENTRYPOINT ./entrypoint.sh

8
entrypoint.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
if [ "$WAKAPI_DB_TYPE" == "sqlite3" ] || [ "$WAKAPI_DB_TYPE" == "" ]; then
./wakapi
else
echo "Waiting for database to come up"
./wait-for-it.sh "$WAKAPI_DB_HOST:$WAKAPI_DB_PORT" -s -t 60 -- ./wakapi
fi

View File

@ -1,9 +0,0 @@
#!/bin/bash
if [ "$WAKAPI_DB_TYPE" != "sqlite3" ]; then
echo "Waiting 10 Seconds for DB to start"
sleep 10;
fi
echo "Starting Application"
./wakapi