Start drawpile
This commit is contained in:
parent
2b4a90fe1f
commit
99995e1fd8
53
drawpile/build.sh
Executable file
53
drawpile/build.sh
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin//env bash
|
||||
|
||||
VERSION=$1
|
||||
|
||||
function require() {
|
||||
if [ "$1" = "" ]; then
|
||||
echo "input '$2' required"
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function print_help() {
|
||||
echo "container.sh"
|
||||
echo ""
|
||||
echo "Usage:"
|
||||
echo " container.sh [version]"
|
||||
echo ""
|
||||
echo "Args:"
|
||||
echo " version: The version of dpserver to build"
|
||||
}
|
||||
|
||||
function build_image() {
|
||||
IMAGE=$1
|
||||
ARCH=$2
|
||||
|
||||
docker build \
|
||||
--pull \
|
||||
--no-cache \
|
||||
--build-arg "version=${VERSION}" \
|
||||
-f "Dockerfile.${ARCH}" \
|
||||
-t "${IMAGE}:${VERSION}-${ARCH}" \
|
||||
-t "${IMAGE}:latest-${ARCH}" \
|
||||
-t "${IMAGE}:latest" \
|
||||
.
|
||||
|
||||
docker push "${IMAGE}:${VERSION}-${ARCH}"
|
||||
docker push "${IMAGE}:latest-${ARCH}"
|
||||
docker push "${IMAGE}:latest"
|
||||
}
|
||||
|
||||
require "$VERSION" "version"
|
||||
|
||||
set -xe
|
||||
|
||||
# pushd dpserver
|
||||
# build_image asonix/drawpile-server arm64v8
|
||||
# popd
|
||||
pushd listserver
|
||||
build_image asonix/drawpile-listserver arm64v8
|
||||
popd
|
||||
pushd static
|
||||
build_image asonix/drawpile-static arm64v8
|
26
drawpile/dpserver/Dockerfile.arm64v8
Normal file
26
drawpile/dpserver/Dockerfile.arm64v8
Normal file
|
@ -0,0 +1,26 @@
|
|||
## Common base
|
||||
FROM arm64v8/alpine:3.11.3 as common
|
||||
RUN apk add --no-cache qt5-qtbase qt5-qtbase-sqlite libmicrohttpd libbz2 libsodium
|
||||
|
||||
## Build container
|
||||
FROM common as builder
|
||||
RUN apk add qt5-qtbase-dev libmicrohttpd-dev libsodium-dev cmake make g++
|
||||
WORKDIR /build/
|
||||
|
||||
COPY build-deps.sh /build/
|
||||
RUN sh build-deps.sh
|
||||
|
||||
ARG version=master
|
||||
RUN wget https://github.com/drawpile/Drawpile/archive/${version}.zip -O /build/drawpile.zip
|
||||
COPY build.sh /build/
|
||||
RUN sh build.sh
|
||||
|
||||
## Final deployment image
|
||||
FROM common
|
||||
COPY --from=builder /build/drawpile-srv /bin
|
||||
COPY --from=builder /build/karchive*/build/bin/libKF5* /usr/lib/
|
||||
RUN adduser -D drawpile
|
||||
|
||||
EXPOSE 27750
|
||||
USER drawpile
|
||||
ENTRYPOINT ["/bin/drawpile-srv"]
|
18
drawpile/dpserver/build-deps.sh
Executable file
18
drawpile/dpserver/build-deps.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
wget https://github.com/KDE/extra-cmake-modules/archive/v5.55.0.zip -O ecm.zip
|
||||
wget https://github.com/KDE/karchive/archive/v5.55.0.zip -O karchive.zip
|
||||
|
||||
unzip ecm.zip
|
||||
unzip karchive.zip
|
||||
|
||||
cd /build/extra-cmake-modules-*
|
||||
cmake .
|
||||
make install
|
||||
|
||||
cd /build/karchive-*
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
make install
|
9
drawpile/dpserver/build.sh
Executable file
9
drawpile/dpserver/build.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
unzip drawpile.zip
|
||||
cd Drawpile-*/
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCLIENT=OFF -DSERVER=ON -DSERVERGUI=OFF -DCMAKE_BUILD_TYPE=Release
|
||||
make
|
||||
mv bin/drawpile-srv /build/
|
10
drawpile/listserver/Dockerfile.arm64v8
Normal file
10
drawpile/listserver/Dockerfile.arm64v8
Normal file
|
@ -0,0 +1,10 @@
|
|||
FROM arm64v8/golang:alpine as builder
|
||||
RUN apk update && apk add --no-cache git gcc libc-dev
|
||||
RUN go get github.com/BurntSushi/toml crawshaw.io/sqlite github.com/gorilla/mux github.com/gorilla/handlers github.com/kelseyhightower/envconfig
|
||||
WORKDIR $GOPATH/src/github.com/drawpile/listserver
|
||||
COPY . .
|
||||
RUN go build -o /go/bin/listserver
|
||||
|
||||
FROM arm64v8/golang:alpine
|
||||
COPY --from=builder /go/bin/listserver /go/bin/listserver
|
||||
ENTRYPOINT ["/go/bin/listserver", "-l", "0.0.0.0:8080"]
|
2
drawpile/static/Dockerfile.arm64v8
Normal file
2
drawpile/static/Dockerfile.arm64v8
Normal file
|
@ -0,0 +1,2 @@
|
|||
FROM arm64v8/nginx:1.17.9-alpine
|
||||
COPY index.html /usr/share/nginx/html
|
28
drawpile/static/index.html
Normal file
28
drawpile/static/index.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Drawpile | asonix.dog</title>
|
||||
<meta name="drawpile:list-server" content="https://drawpile.asonix.dog/listing" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Drawpile on asonix.dog</h1>
|
||||
<p>
|
||||
This is a free to use <a href="https://drawpile.net/">Drawpile</a> server.
|
||||
To <a href="https://drawpile.net/help/hosting/">host a session</a> here, select the <i>Remote</i> option
|
||||
in the Host dialog and enter <code>pub.drawpile.net</code> in the text box.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This public server is provided primarily for the benefit of those who are unable to host sessions
|
||||
on their own computers. It has limited capacity, so please be considerate of others and
|
||||
try not to monopolize the available space.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Sessions hosted (or just listed) here should abide by the
|
||||
<a href="https://drawpile.net/communities/drawpile.net/ccg/">common community guidelines</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue