forked from hellowod/u3d-plugins-development
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.dev
More file actions
66 lines (50 loc) · 2.13 KB
/
Copy pathDockerfile.dev
File metadata and controls
66 lines (50 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
FROM alpine:3.6
MAINTAINER Rosco Pecoltran <rosco.pecoltran@msn.com>
## Project VCS - Info
ARG PROJECT_VCS_PROVIDER=${PROJECT_VCS_PROVIDER:-"github.com"}
ARG PROJECT_NAMESPACE=${PROJECT_NAMESPACE:-"roscopecoltran"}
ARG PROJECT_NAME=${PROJECT_NAME:-"u3d-plugins-development"}
## Global 'ENV' variables
ENV PROJECT_VCS_PROVIDER=${PROJECT_VCS_PROVIDER} \
PROJECT_NAMESPACE=${PROJECT_NAMESPACE} \
PROJECT_NAME=${PROJECT_NAME}
## Build Tasks - Settings
ARG APP_TASK_MANAGER=${APP_TASK_MANAGER:-"github.com/Nananas/ymake"}
## Pre-build - Settings
ARG APP_PREBUILD_ALL=${APP_PREBUILD_ALL:-true}
ARG APP_PREBUILD_DEL=${APP_PREBUILD_DEL:-true}
ARG APP_PREBUILD_AUTH=${APP_PREBUILD_AUTH:-mkjwk}
## Compilation - Settings
ARG GOLANG_CROSS_BUILDER=${GOLANG_CROSS_BUILDER:-gox}
ARG GOLANG_PKG_MANAGER=${GOLAMG_PKG_MANAGER:-glide}
##### [Go] Cross-build - Settings
ARG XC_BUILD=${XC_BUILD:-false}
ARG XC_ARCH=${XC_ARCH:-"386 amd64"}
ARG XC_OS=${XC_OS:-"linux darwin"}
## Container Security - Settings
ARG GOSU_VERSION=${GOSU_VERSION:-1.10}
## Container Packages - Settings
ARG ALPINE_PKG_BUILD="git mercurial bzr go g++ tree"
#ARG ALPINE_PKG_BUILD="curl git mercurial bzr gcc musl-dev go g++ make openssl-dev libssh2-dev"
ARG ALPINE_PKG_RUNTIME="ca-certificates openssl"
ARG ALPINE_PKG_INTERACTIVE="bash nano tree"
ARG ALPINE_PKG_DEL_STACKS="INTERACTIVE BUILD"
# Install Gosu to /usr/local/bin/gosu (Simple Go-based setuid+setgid+setgroups+exec)
ADD https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64 /usr/local/sbin/gosu
# Add sources
ADD . /app
# Set default work directory
WORKDIR /app
# Install runtime dependencies & create runtime user
RUN chmod +x /usr/local/sbin/gosu \
&& adduser -D app -h /data -s /bin/sh \
&& if [ ${APP_PREBUILD_ALL} ];then chmod +x ./docker/build.sh; ./docker/build.sh; fi
# NSSwitch configuration file
COPY docker/config/nsswitch.conf /etc/nsswitch.conf
# Container configuration
VOLUME ["/data", "/dist", "/app/configuration"]
EXPOSE 1705
# Container entrypoints
COPY ./docker/entrypoint.sh /app/docker/entrypoint.sh
# Container run command
CMD ["/usr/local/sbin/gosu", "app", "./docker/entrypoint.sh"]