rikugun
5 years ago
8 changed files with 227 additions and 6 deletions
-
119.dockerignore
-
41Dockerfile
-
4docker/docker-start.sh
-
56docker/etc/nginx/nginx.conf.tpl
-
4server/config.yaml
-
BINserver/db.db
-
7server/service/sys_menu.go
@ -0,0 +1,119 @@ |
|||||
|
# Created by .ignore support plugin (hsz.mobi) |
||||
|
### Node template |
||||
|
# Logs |
||||
|
logs |
||||
|
*.log |
||||
|
npm-debug.log* |
||||
|
yarn-debug.log* |
||||
|
yarn-error.log* |
||||
|
lerna-debug.log* |
||||
|
|
||||
|
# Diagnostic reports (https://nodejs.org/api/report.html) |
||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json |
||||
|
|
||||
|
# Runtime data |
||||
|
pids |
||||
|
*.pid |
||||
|
*.seed |
||||
|
*.pid.lock |
||||
|
|
||||
|
# Directory for instrumented libs generated by jscoverage/JSCover |
||||
|
lib-cov |
||||
|
|
||||
|
# Coverage directory used by tools like istanbul |
||||
|
coverage |
||||
|
*.lcov |
||||
|
|
||||
|
# nyc test coverage |
||||
|
.nyc_output |
||||
|
|
||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) |
||||
|
.grunt |
||||
|
|
||||
|
# Bower dependency directory (https://bower.io/) |
||||
|
bower_components |
||||
|
|
||||
|
# node-waf configuration |
||||
|
.lock-wscript |
||||
|
|
||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html) |
||||
|
build/Release |
||||
|
|
||||
|
# Dependency directories |
||||
|
node_modules/ |
||||
|
jspm_packages/ |
||||
|
|
||||
|
# Snowpack dependency directory (https://snowpack.dev/) |
||||
|
web_modules/ |
||||
|
|
||||
|
# TypeScript cache |
||||
|
*.tsbuildinfo |
||||
|
|
||||
|
# Optional npm cache directory |
||||
|
.npm |
||||
|
|
||||
|
# Optional eslint cache |
||||
|
.eslintcache |
||||
|
|
||||
|
# Microbundle cache |
||||
|
.rpt2_cache/ |
||||
|
.rts2_cache_cjs/ |
||||
|
.rts2_cache_es/ |
||||
|
.rts2_cache_umd/ |
||||
|
|
||||
|
# Optional REPL history |
||||
|
.node_repl_history |
||||
|
|
||||
|
# Output of 'npm pack' |
||||
|
*.tgz |
||||
|
|
||||
|
# Yarn Integrity file |
||||
|
.yarn-integrity |
||||
|
|
||||
|
# dotenv environment variables file |
||||
|
.env |
||||
|
.env.test |
||||
|
|
||||
|
# parcel-bundler cache (https://parceljs.org/) |
||||
|
.cache |
||||
|
.parcel-cache |
||||
|
|
||||
|
# Next.js build output |
||||
|
.next |
||||
|
|
||||
|
# Nuxt.js build / generate output |
||||
|
.nuxt |
||||
|
dist |
||||
|
|
||||
|
# Gatsby files |
||||
|
.cache/ |
||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js |
||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support |
||||
|
# public |
||||
|
|
||||
|
# vuepress build output |
||||
|
.vuepress/dist |
||||
|
|
||||
|
# Serverless directories |
||||
|
.serverless/ |
||||
|
|
||||
|
# FuseBox cache |
||||
|
.fusebox/ |
||||
|
|
||||
|
# DynamoDB Local files |
||||
|
.dynamodb/ |
||||
|
|
||||
|
# TernJS port file |
||||
|
.tern-port |
||||
|
|
||||
|
# Stores VSCode versions used for testing VSCode extensions |
||||
|
.vscode-test |
||||
|
|
||||
|
# yarn v2 |
||||
|
|
||||
|
.yarn/cache |
||||
|
.yarn/unplugged |
||||
|
.yarn/build-state.yml |
||||
|
.pnp.* |
||||
|
|
||||
|
**/node_modules |
@ -0,0 +1,41 @@ |
|||||
|
FROM golang:alpine as builder |
||||
|
RUN apk add --update --no-cache yarn make g++ |
||||
|
RUN yarn global add cross-env node-sass |
||||
|
|
||||
|
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct \ |
||||
|
GO111MODULE=on \ |
||||
|
CGO_ENABLED=1 |
||||
|
WORKDIR /go/src/gin-vue-admin |
||||
|
RUN go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct |
||||
|
COPY server/ ./ |
||||
|
RUN go env && go list && go build -v -a -ldflags "-extldflags \"-static\" " -o gvadmin . |
||||
|
|
||||
|
WORKDIR /web |
||||
|
COPY web/ ./ |
||||
|
RUN yarn install && yarn run build |
||||
|
|
||||
|
|
||||
|
FROM nginx:alpine |
||||
|
LABEL MAINTAINER="rikugun" |
||||
|
|
||||
|
RUN apk add --no-cache gettext tzdata && \ |
||||
|
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ |
||||
|
echo "Asia/Shanghai" > /etc/timezone && \ |
||||
|
date && \ |
||||
|
apk del tzdata |
||||
|
|
||||
|
COPY docker/etc/nginx/nginx.conf.tpl /etc/nginx/nginx.conf.tpl |
||||
|
WORKDIR /app |
||||
|
#copy web |
||||
|
COPY --from=builder /web/dist/ /var/www/ |
||||
|
#copy go app |
||||
|
COPY --from=builder /go/src/gin-vue-admin/gvadmin ./ |
||||
|
COPY --from=builder /go/src/gin-vue-admin/db.db ./ |
||||
|
COPY --from=builder /go/src/gin-vue-admin/config.yaml ./ |
||||
|
COPY --from=builder /go/src/gin-vue-admin/resource ./resource |
||||
|
COPY docker/docker-start.sh ./ |
||||
|
|
||||
|
ENV API_SERVER="http://localhost:8888/" |
||||
|
EXPOSE 80 |
||||
|
|
||||
|
ENTRYPOINT ["./docker-start.sh"] |
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
envsubst '$API_SERVER' < /etc/nginx/nginx.conf.tpl > /etc/nginx/nginx.conf |
||||
|
env nginx |
||||
|
./gvadmin |
@ -0,0 +1,56 @@ |
|||||
|
daemon on; |
||||
|
worker_processes 50; |
||||
|
#error_log /dev/stdout warn; |
||||
|
error_log /var/log/nginx/error.log error; |
||||
|
|
||||
|
|
||||
|
events { |
||||
|
worker_connections 1024; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
http { |
||||
|
include mime.types; |
||||
|
default_type application/octet-stream; |
||||
|
# See http://licson.net/post/optimizing-nginx-for-large-file-delivery/ for more detail |
||||
|
# This optimizes the server for HLS fragment delivery |
||||
|
sendfile off; |
||||
|
#tcp_nopush on; |
||||
|
keepalive_timeout 65; |
||||
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
||||
|
'$status $body_bytes_sent "$http_referer" ' |
||||
|
'"$http_user_agent" "$http_x_forwarded_for"'; |
||||
|
#access_log /dev/stdout combined; |
||||
|
|
||||
|
# ssl_ciphers HIGH:!aNULL:!MD5; |
||||
|
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
||||
|
# ssl_session_cache shared:SSL:10m; |
||||
|
# ssl_session_timeout 10m; |
||||
|
|
||||
|
server { |
||||
|
listen 80; |
||||
|
|
||||
|
# Uncomment these lines to enable SSL. |
||||
|
# Update the ssl paths with your own certificate and private key. |
||||
|
# listen 443 ssl; |
||||
|
# ssl_certificate /opt/certs/example.com.crt; |
||||
|
# ssl_certificate_key /opt/certs/example.com.key; |
||||
|
location / { |
||||
|
root /var/www; |
||||
|
try_files $uri $uri/ /index.html; |
||||
|
index index.html; |
||||
|
} |
||||
|
|
||||
|
location /v1/ { |
||||
|
proxy_set_header X-Forwarded-Proto $scheme; |
||||
|
proxy_set_header X-Forwarded-Port $server_port; |
||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
||||
|
proxy_set_header Upgrade $http_upgrade; |
||||
|
proxy_set_header Connection "upgrade"; |
||||
|
proxy_set_header Host $host; |
||||
|
proxy_pass ${API_SERVER} ; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue