forked from pufferpanel/pufferpanel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
63 lines (52 loc) · 1.9 KB
/
Dockerfile
File metadata and controls
63 lines (52 loc) · 1.9 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
###
# Builder container
###
FROM golang:alpine AS builder
ARG tags=none
ENV CGOENABLED=1
RUN go version && \
apk add --update --no-cache gcc musl-dev git curl nodejs nodejs-npm make gcc g++ python && \
mkdir /pufferpanel
WORKDIR /build/pufferpanel
COPY . .
RUN go build -v -tags $tags -o /pufferpanel/pufferpanel github.com/pufferpanel/pufferpanel/v2/cmd && \
mv assets/email /pufferpanel/email && \
cd client && \
npm install && \
npm run dev-build && \
mv dist /pufferpanel/www/
###
# Generate final image
###
FROM alpine
COPY --from=builder /pufferpanel /pufferpanel
EXPOSE 8080 5656 5657
VOLUME /etc/pufferpanel
ENV PUFFER_LOGS=/etc/pufferpanel/logs \
PUFFER_PANEL_DATABASE_SESSION=60 \
PUFFER_PANEL_DATABASE_DIALECT=sqlite3 \
PUFFER_PANEL_DATABASE_URL="file:/etc/pufferpanel/pufferpanel.db?cache=shared" \
PUFFER_PANEL_DATABASE_LOG=false \
PUFFER_PANEL_TOKEN_PRIVATE=/etc/pufferpanel/private.pem \
PUFFER_PANEL_TOKEN_PUBLIC=/etc/pufferpanel/public.pem \
PUFFER_PANEL_WEB_HOST=0.0.0.0:8080 \
PUFFER_PANEL_WEB_FILES=/pufferpanel/www \
PUFFER_PANEL_EMAIL_TEMPLATES=/pufferpanel/email/emails.json \
PUFFER_PANEL_EMAIL_PROVIDER=debug \
PUFFER_PANEL_SETTINGS_COMPANYNAME=PufferPanel \
PUFFER_PANEL_SETTINGS_MASTERURL=http://localhost:8080 \
PUFFER_DAEMON_CONSOLE_BUFFER=50 \
PUFFER_DAEMON_CONSOLE_FORWARD=false \
PUFFER_DAEMON_WEB_HOST=0.0.0.0:5656 \
PUFFER_DAEMON_SFTP_HOST=0.0.0.0:5657 \
PUFFER_DAEMON_SFTP_KEY=/etc/pufferpanel/sftp.key \
PUFFER_DAEMON_AUTH_URL=http://localhost:8080 \
PUFFER_DAEMON_AUTH_CLIENTID=none \
PUFFER_DAEMON_DATA_CACHE=/etc/pufferpanel/cache \
PUFFER_DAEMON_DATA_SERVERS=/etc/pufferpanel/servers \
PUFFER_DAEMON_DATA_MODULES=/etc/pufferpanel/modules \
PUFFER_DAEMON_DATA_CRASHLIMIT=3
WORKDIR /pufferpanel
RUN ./pufferpanel template import
ENTRYPOINT ["/pufferpanel/pufferpanel"]
CMD ["run"]