Add darktable development docker image #62
- Improved build scripts and Dockerfile - broadwayd can be used as display server for darktable or other GTK based software
This commit is contained in:
parent
8ac8658cc2
commit
c5ee0fee48
|
@ -4,9 +4,9 @@ internal/photoprism/testdata/*
|
||||||
frontend/node_modules/*
|
frontend/node_modules/*
|
||||||
assets/server/public/build/*
|
assets/server/public/build/*
|
||||||
Dockerfile
|
Dockerfile
|
||||||
/docker
|
|
||||||
/photoprism
|
/photoprism
|
||||||
docker-compose*
|
docker-compose*
|
||||||
/coverage.*
|
/coverage.*
|
||||||
.dockerignore
|
.dockerignore
|
||||||
.idea
|
.idea
|
||||||
|
.DS_Store
|
|
@ -1,4 +1,4 @@
|
||||||
FROM photoprism/development:20181109
|
FROM photoprism/development:20181112
|
||||||
|
|
||||||
# Set up project directory
|
# Set up project directory
|
||||||
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
||||||
|
|
6
Makefile
6
Makefile
|
@ -16,7 +16,7 @@ DOCKER_TAG=`date -u +%Y%m%d`
|
||||||
all: download dep js build
|
all: download dep js build
|
||||||
install: install-bin install-assets install-config
|
install: install-bin install-assets install-config
|
||||||
install-bin:
|
install-bin:
|
||||||
scripts/build.sh install /usr/local/bin/$(BINARY_NAME)
|
scripts/build.sh prod /usr/local/bin/$(BINARY_NAME)
|
||||||
install-assets:
|
install-assets:
|
||||||
mkdir -p /srv/photoprism/photos
|
mkdir -p /srv/photoprism/photos
|
||||||
mkdir -p /srv/photoprism/cache
|
mkdir -p /srv/photoprism/cache
|
||||||
|
@ -60,6 +60,10 @@ deploy-development:
|
||||||
deploy-tensorflow:
|
deploy-tensorflow:
|
||||||
scripts/docker-build.sh tensorflow $(DOCKER_TAG)
|
scripts/docker-build.sh tensorflow $(DOCKER_TAG)
|
||||||
scripts/docker-push.sh tensorflow $(DOCKER_TAG)
|
scripts/docker-push.sh tensorflow $(DOCKER_TAG)
|
||||||
|
deploy-darktable:
|
||||||
|
DARKTABLE_VERSION="$(awk '$2 == "DARKTABLE_VERSION" { print $3; exit }' docker/darktable/Dockerfile)"
|
||||||
|
scripts/docker-build.sh darktable $(DARKTABLE_VERSION)
|
||||||
|
scripts/docker-push.sh darktable $(DARKTABLE_VERSION)
|
||||||
fmt:
|
fmt:
|
||||||
$(GOIMPORTS) -w internal cmd
|
$(GOIMPORTS) -w internal cmd
|
||||||
$(GOFMT) ./internal/... ./cmd/...
|
$(GOFMT) ./internal/... ./cmd/...
|
||||||
|
|
|
@ -4,9 +4,10 @@ services:
|
||||||
photoprism:
|
photoprism:
|
||||||
build: .
|
build: .
|
||||||
image: photoprism/photoprism:develop
|
image: photoprism/photoprism:develop
|
||||||
command: tail -f /dev/null
|
command: broadwayd -p 8080 -a 0.0.0.0 :5
|
||||||
ports:
|
ports:
|
||||||
- 2342:80
|
- 2342:80 # Web Server (PhotoPrism)
|
||||||
|
- 2343:8080 # Broadwayd (HTML5 display server)
|
||||||
volumes:
|
volumes:
|
||||||
- .:/go/src/github.com/photoprism/photoprism
|
- .:/go/src/github.com/photoprism/photoprism
|
||||||
environment:
|
environment:
|
||||||
|
|
97
docker/darktable/Dockerfile
Normal file
97
docker/darktable/Dockerfile
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
FROM ubuntu:18.04
|
||||||
|
|
||||||
|
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
||||||
|
|
||||||
|
WORKDIR "/src"
|
||||||
|
|
||||||
|
ENV DARKTABLE_VERSION 2.5.0
|
||||||
|
|
||||||
|
ENV LANG C.UTF-8
|
||||||
|
ENV LC_ALL C.UTF-8
|
||||||
|
ENV LC_MESSAGES C.UTF-8
|
||||||
|
ENV LANGUAGE C.UTF-8
|
||||||
|
ENV GCC_VER=8
|
||||||
|
ENV LLVM_VER=7
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
# Paper over occasional network flakiness of some mirrors.
|
||||||
|
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry
|
||||||
|
|
||||||
|
# Do not install recommended packages
|
||||||
|
RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends
|
||||||
|
|
||||||
|
# Do not install suggested packages
|
||||||
|
RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests
|
||||||
|
|
||||||
|
# Assume yes
|
||||||
|
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/80forceyes
|
||||||
|
|
||||||
|
# Fix broken packages
|
||||||
|
RUN echo 'APT::Get::Fix-Missing "true";' > /etc/apt/apt.conf.d/80fixmissin
|
||||||
|
|
||||||
|
# Install general build dependencies
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
curl \
|
||||||
|
gpg-agent \
|
||||||
|
apt-utils \
|
||||||
|
gpg \
|
||||||
|
gpgconf \
|
||||||
|
gpgv \
|
||||||
|
pkg-config \
|
||||||
|
nano \
|
||||||
|
wget
|
||||||
|
|
||||||
|
# Add llvm repo
|
||||||
|
RUN echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" | tee /etc/apt/sources.list.d/llvm.list
|
||||||
|
COPY /docker/darktable/llvm.gpg.key /tmp/llvm.gpg.key
|
||||||
|
RUN apt-key add /tmp/llvm.gpg.key
|
||||||
|
|
||||||
|
# Install darktable build depenencies
|
||||||
|
RUN apt-get update && apt-get install appstream-util clang-$LLVM_VER cmake desktop-file-utils \
|
||||||
|
g++-$GCC_VER gcc-$GCC_VER gettext git intltool libatk1.0-dev libcairo2-dev \
|
||||||
|
libcolord-dev libcolord-gtk-dev libcups2-dev libcurl4-gnutls-dev \
|
||||||
|
libexiv2-dev libflickcurl-dev libgdk-pixbuf2.0-dev libglib2.0-dev \
|
||||||
|
libgphoto2-dev libgraphicsmagick1-dev libgtk-3-dev libjpeg-dev \
|
||||||
|
libjson-glib-dev liblcms2-dev liblensfun-dev liblua5.2-dev liblua5.3-dev \
|
||||||
|
libopenexr-dev libopenjp2-7-dev libosmgpsmap-1.0-dev libpango1.0-dev \
|
||||||
|
libpng-dev libpugixml-dev librsvg2-dev libsaxon-java libsecret-1-dev \
|
||||||
|
libsoup2.4-dev libsqlite3-dev libtiff5-dev libwebp-dev libx11-dev \
|
||||||
|
libxml2-dev libxml2-utils make ninja-build perl po4a python3-jsonschema \
|
||||||
|
xsltproc zlib1g-dev libxslt1-dev gtk+-3.0 libsoup2.4 libtiff-dev libgtk-3-bin && \
|
||||||
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN dpkg-divert --add --rename --divert /usr/bin/ld.original /usr/bin/ld && \
|
||||||
|
ln -s /usr/bin/ld.gold /usr/bin/ld
|
||||||
|
|
||||||
|
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
|
||||||
|
apt-get install clang-$LLVM_VER libclang-common-$LLVM_VER-dev \
|
||||||
|
llvm-$LLVM_VER-dev && \
|
||||||
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
|
||||||
|
apt-get install default-jdk-headless default-jre-headless docbook \
|
||||||
|
docbook-xml docbook-xsl docbook-xsl-saxon fop gnome-doc-utils imagemagick \
|
||||||
|
libsaxon-java xsltproc && apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Build and install darktable
|
||||||
|
RUN git clone https://github.com/darktable-org/darktable.git
|
||||||
|
WORKDIR "/src/darktable"
|
||||||
|
RUN git fetch --all --tags --prune && git checkout tags/release-$DARKTABLE_VERSION
|
||||||
|
RUN git submodule init && git submodule update
|
||||||
|
RUN ./build.sh --prefix /opt/darktable --build-type Release --install
|
||||||
|
|
||||||
|
# Copy darktable header files
|
||||||
|
WORKDIR "/src/darktable/src"
|
||||||
|
RUN mkdir -p /opt/darktable/include/darktable
|
||||||
|
RUN find . -name '*.h' -exec cp --parents \{\} /opt/darktable/include/darktable \;
|
||||||
|
|
||||||
|
# Configure shell environment
|
||||||
|
WORKDIR "/opt/darktable"
|
||||||
|
ENV PATH /opt/darktable/bin:$PATH
|
||||||
|
|
||||||
|
# Configure broadwayd
|
||||||
|
ENV GDK_BACKEND broadway
|
||||||
|
ENV BROADWAY_DISPLAY :5
|
||||||
|
EXPOSE 8080
|
||||||
|
CMD broadwayd -p 8080 -a 0.0.0.0 :5
|
7
docker/darktable/docker-compose.yml
Normal file
7
docker/darktable/docker-compose.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
darktable:
|
||||||
|
image: photoprism/darktable:latest
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
52
docker/darktable/llvm.gpg.key
Normal file
52
docker/darktable/llvm.gpg.key
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||||
|
|
||||||
|
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
|
||||||
|
bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
|
||||||
|
=j+4q
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -2,8 +2,18 @@ FROM ubuntu:18.04
|
||||||
|
|
||||||
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
LABEL maintainer="Michael Mayer <michael@liquidbytes.net>"
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
# Configure apt-get
|
||||||
|
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry
|
||||||
|
RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends
|
||||||
|
RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests
|
||||||
|
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/80forceyes
|
||||||
|
RUN echo 'APT::Get::Fix-Missing "true";' > /etc/apt/apt.conf.d/80fixmissin
|
||||||
|
|
||||||
# Install dev / build dependencies
|
# Install dev / build dependencies
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get upgrade && \
|
||||||
|
apt-get install \
|
||||||
build-essential \
|
build-essential \
|
||||||
curl \
|
curl \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
|
@ -23,13 +33,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
nano \
|
nano \
|
||||||
wget \
|
wget \
|
||||||
git \
|
git \
|
||||||
mysql-client
|
mysql-client \
|
||||||
|
libgtk-3-bin
|
||||||
|
|
||||||
# Install darktable (RAW to JPEG converter)
|
# Install darktable (RAW to JPEG converter)
|
||||||
RUN add-apt-repository ppa:pmjdebruijn/darktable-release && \
|
RUN add-apt-repository ppa:pmjdebruijn/darktable-release && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --no-install-recommends darktable && \
|
apt-get install darktable && \
|
||||||
apt-get upgrade -y
|
apt-get upgrade
|
||||||
|
|
||||||
# Install TensorFlow C library
|
# Install TensorFlow C library
|
||||||
RUN curl -L \
|
RUN curl -L \
|
||||||
|
@ -42,7 +53,7 @@ ENV TF_CPP_MIN_LOG_LEVEL 2
|
||||||
|
|
||||||
# Install NPM (NodeJS)
|
# Install NPM (NodeJS)
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
|
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
|
||||||
RUN apt-get install -y nodejs
|
RUN apt-get install nodejs
|
||||||
|
|
||||||
# Install YARN (Package Manager)
|
# Install YARN (Package Manager)
|
||||||
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
||||||
|
@ -83,11 +94,17 @@ RUN env GO111MODULE=off /usr/local/go/bin/go get golang.org/x/tools/cmd/goimport
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
ENV YARN_CACHE_FOLDER /root/.cache/yarn
|
ENV YARN_CACHE_FOLDER /root/.cache/yarn
|
||||||
|
|
||||||
|
# Configure broadwayd (HTML5 display server)
|
||||||
|
# Command: broadwayd -p 8080 -a 0.0.0.0 :5
|
||||||
|
ENV GDK_BACKEND broadway
|
||||||
|
ENV BROADWAY_DISPLAY :5
|
||||||
|
|
||||||
# Set up project directory
|
# Set up project directory
|
||||||
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
||||||
|
|
||||||
# Expose HTTP port
|
# Expose HTTP port plus 8080 for broadwayd (not running by default)
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
# Keep container running (services can be started manually using a terminal)
|
# Keep container running (services can be started manually using a terminal)
|
||||||
CMD tail -f /dev/null
|
CMD tail -f /dev/null
|
|
@ -1,4 +1,4 @@
|
||||||
FROM photoprism/development:20181108 as build
|
FROM photoprism/development:20181112 as build
|
||||||
|
|
||||||
# Set up project directory
|
# Set up project directory
|
||||||
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
WORKDIR "/go/src/github.com/photoprism/photoprism"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM photoprism/development:20181108
|
FROM photoprism/development:20181112
|
||||||
|
|
||||||
# Install Python and TensorFlow
|
# Install Python and TensorFlow
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -39,7 +39,7 @@ require (
|
||||||
github.com/ugorji/go v1.1.1 // indirect
|
github.com/ugorji/go v1.1.1 // indirect
|
||||||
github.com/urfave/cli v1.20.0
|
github.com/urfave/cli v1.20.0
|
||||||
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd // indirect
|
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd // indirect
|
||||||
golang.org/x/image v0.0.0-20181107040041-fe2fa19765cb
|
golang.org/x/image v0.0.0-20181109232246-249dc8530c0e
|
||||||
golang.org/x/net v0.0.0-20181108082009-03003ca0c849 // indirect
|
golang.org/x/net v0.0.0-20181108082009-03003ca0c849 // indirect
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f // indirect
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f // indirect
|
||||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8 // indirect
|
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8 // indirect
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -79,8 +79,8 @@ github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
|
||||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||||
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd h1:VtIkGDhk0ph3t+THbvXHfMZ8QHgsBO39Nh52+74pq7w=
|
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd h1:VtIkGDhk0ph3t+THbvXHfMZ8QHgsBO39Nh52+74pq7w=
|
||||||
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/image v0.0.0-20181107040041-fe2fa19765cb h1:bgVKvF9JMEKw/zhQupMlJd2M8D2v80fqKZDZbtkUCpI=
|
golang.org/x/image v0.0.0-20181109232246-249dc8530c0e h1:tKeLpam+QnQXh80ue3KM7AcmYlUyEn8j00wnh3XphNk=
|
||||||
golang.org/x/image v0.0.0-20181107040041-fe2fa19765cb/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
golang.org/x/image v0.0.0-20181109232246-249dc8530c0e/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181108082009-03003ca0c849 h1:FSqE2GGG7wzsYUsWiQ8MZrvEd1EOyU3NCF0AW3Wtltg=
|
golang.org/x/net v0.0.0-20181108082009-03003ca0c849 h1:FSqE2GGG7wzsYUsWiQ8MZrvEd1EOyU3NCF0AW3Wtltg=
|
||||||
golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
|
|
@ -52,7 +52,7 @@ var GlobalFlags = []cli.Flag{
|
||||||
},
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "database-driver",
|
Name: "database-driver",
|
||||||
Usage: "database `DRIVER` (mysql, mssql, postgres or sqlite)",
|
Usage: "database `DRIVER` (mysql, postgres or sqlite)",
|
||||||
Value: "mysql",
|
Value: "mysql",
|
||||||
EnvVar: "PHOTOPRISM_DATABASE_DRIVER",
|
EnvVar: "PHOTOPRISM_DATABASE_DRIVER",
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,19 +1,38 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
VERSION=`date -u +0.%Y%m%d.%H%M%S`
|
BUILD_DATE=`date -u +%y%m%d`
|
||||||
BRANCH=`git rev-parse --abbrev-ref HEAD`
|
VERSION=`git describe --always`
|
||||||
|
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [[ -z $1 ]] || [[ -z $2 ]]; then
|
||||||
echo "Please provide build mode and output file name" 1>&2
|
echo "Please provide build mode and output file name" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $1 == "debug" ]; then
|
if [[ $OS == "Windows_NT" ]]; then
|
||||||
|
OPERATING_SYSTEM=win32
|
||||||
|
if [[ $PROCESSOR_ARCHITEW6432 == "AMD64" ]]; then
|
||||||
|
PROCESSOR=amd64
|
||||||
|
else
|
||||||
|
if [[ $PROCESSOR_ARCHITECTURE == "AMD64" ]]; then
|
||||||
|
PROCESSOR=amd64
|
||||||
|
fi
|
||||||
|
if [[ $PROCESSOR_ARCHITECTURE == "x86" ]]; then
|
||||||
|
PROCESSOR=ia32
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
OPERATING_SYSTEM=`uname -s`
|
||||||
|
PROCESSOR=`uname -p`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $1 == "debug" ]]; then
|
||||||
echo "Building development binary..."
|
echo "Building development binary..."
|
||||||
go build -ldflags "-X main.version=${VERSION}-${BRANCH}" -o $2 cmd/photoprism/photoprism.go
|
go build -ldflags "-X main.version=${BUILD_DATE}-${VERSION}-${OPERATING_SYSTEM}-${PROCESSOR}-DEBUG" -o $2 cmd/photoprism/photoprism.go
|
||||||
|
du -h $2
|
||||||
echo "Done."
|
echo "Done."
|
||||||
else
|
else
|
||||||
echo "Building production binary..."
|
echo "Building production binary..."
|
||||||
go build -ldflags "-s -w -X main.version=${VERSION}" -o $2 cmd/photoprism/photoprism.go
|
go build -ldflags "-s -w -X main.version=${BUILD_DATE}-${VERSION}-${OPERATING_SYSTEM}-${PROCESSOR}" -o $2 cmd/photoprism/photoprism.go
|
||||||
|
du -h $2
|
||||||
echo "Done."
|
echo "Done."
|
||||||
fi
|
fi
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [[ -z $1 ]] || [[ -z $2 ]]; then
|
||||||
echo "Please provide a container image name and version" 1>&2
|
echo "Please provide a container image name and version" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
if [ -z "$DOCKER_PASSWORD" ] || [ -z "$DOCKER_USERNAME" ]; then
|
if [[ -z $DOCKER_PASSWORD ]] || [[ -z $DOCKER_USERNAME ]]; then
|
||||||
echo "DOCKER_PASSWORD and DOCKER_USERNAME not set in your environment";
|
echo "DOCKER_PASSWORD and DOCKER_USERNAME not set in your environment";
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -8,7 +8,7 @@ fi
|
||||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||||
|
|
||||||
|
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [[ -z $1 ]] || [[ -z $2 ]]; then
|
||||||
echo "Please provide a container image name and version" 1>&2
|
echo "Please provide a container image name and version" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue