diff --git a/.github/workflows/cd_docker.yml b/.github/workflows/cd_docker.yml index 17a2b0d..e2f04a1 100644 --- a/.github/workflows/cd_docker.yml +++ b/.github/workflows/cd_docker.yml @@ -1,4 +1,5 @@ name: cd-docker + on: release: types: [published] diff --git a/Dockerfile b/Dockerfile index 51e19ee..9496dad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,12 @@ FROM golang:1.15 as build-be ADD . /quickshare WORKDIR /quickshare -RUN /quickshare/scripts/build_be_docker.sh +RUN /quickshare/scripts/build_exec.sh FROM node as build-fe COPY --from=build-be /quickshare /quickshare WORKDIR /quickshare -RUN yarn install \ - && yarn --cwd "src/client/web" run build \ +RUN yarn run build:fe \ && cp -R /quickshare/public /quickshare/dist/quickshare FROM debian:stable-slim diff --git a/package.json b/package.json index b968914..06e5997 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,13 @@ "src/client/web" ], "scripts": { - "build": "scripts/build.sh", - "start": "cd src/client/web/ && yarn && yarn build && cd ../../.. && go run cmd/start/main.go -c `pwd`/configs/dev.yml" + "build:fe": "bash scripts/copy_js.sh && webpack --config src/client/web/webpack.app.prod.js", + "build:fe:dev": "bash scripts/copy_js_dev.sh && webpack --config src/client/web/webpack.app.dev.js --watch", + "build:fe:watch": "bash scripts/copy_js.sh && webpack --config src/client/web/webpack.app.prod.js --watch", + "start": "yarn build:fe && go run cmd/start/main.go -c `pwd`/configs/dev.yml", + + "build": "yarn build:fe && bash scripts/build_be.sh", + "build:docker": "docker build . -t hexxa/quickshare:latest" }, "dependencies": { "webpack-bundle-analyzer": "^4.4.2" diff --git a/public/static/img/favicon.png b/public/static/img/favicon.png new file mode 100644 index 0000000..90fcc76 Binary files /dev/null and b/public/static/img/favicon.png differ diff --git a/public/static/img/favicon.svg b/public/static/img/favicon.svg new file mode 100644 index 0000000..02ca68c --- /dev/null +++ b/public/static/img/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/static/manifest.json b/public/static/manifest.json new file mode 100644 index 0000000..5f7f049 --- /dev/null +++ b/public/static/manifest.json @@ -0,0 +1,11 @@ +{ + "name": "Quickshare", + "short_name": "Quickshare", + "icons": [{ + "src": "img/favicon.png", + "sizes": "512x512" + }], + "background_color": "#16a085", + "theme_color": "#ffffff", + "display": "fullscreen" +} diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100755 index a0903f4..0000000 --- a/scripts/build.sh +++ /dev/null @@ -1,30 +0,0 @@ -export QSROOT=`pwd` -rm -r dist && mkdir dist - -go get github.com/mitchellh/gox -cd cmd/start -gox \ - -osarch="windows/386 windows/amd64 darwin/amd64 linux/386 linux/amd64 linux/arm linux/arm64" \ - -output "$QSROOT/dist/quickshare_{{.OS}}_{{.Arch}}/quickshare" - -cd $QSROOT/src/client/web -yarn build - -cd $QSROOT -cp -R $QSROOT/public $QSROOT/dist/quickshare_windows_386 -cp -R $QSROOT/public $QSROOT/dist/quickshare_windows_amd64 -cp -R $QSROOT/public $QSROOT/dist/quickshare_darwin_amd64 -cp -R $QSROOT/public $QSROOT/dist/quickshare_linux_386 -cp -R $QSROOT/public $QSROOT/dist/quickshare_linux_amd64 -cp -R $QSROOT/public $QSROOT/dist/quickshare_linux_arm -cp -R $QSROOT/public $QSROOT/dist/quickshare_linux_arm64 - -cd $QSROOT/dist - -zip -r -q $QSROOT/dist/quickshare_windows_386.zip quickshare_windows_386/* -zip -r -q $QSROOT/dist/quickshare_windows_amd64.zip quickshare_windows_amd64/* -zip -r -q $QSROOT/dist/quickshare_darwin_amd64.zip quickshare_darwin_amd64/* -zip -r -q $QSROOT/dist/quickshare_linux_386.zip quickshare_linux_386/* -zip -r -q $QSROOT/dist/quickshare_linux_amd64.zip quickshare_linux_amd64/* -zip -r -q $QSROOT/dist/quickshare_linux_arm.zip quickshare_linux_arm/* -zip -r -q $QSROOT/dist/quickshare_linux_arm64.zip quickshare_linux_arm64/* diff --git a/scripts/build_be_docker.sh b/scripts/build_be_docker.sh deleted file mode 100755 index 96a3910..0000000 --- a/scripts/build_be_docker.sh +++ /dev/null @@ -1,11 +0,0 @@ -export QSROOT=`pwd` -rm -r dist && mkdir dist - -# set this for builders behind GFW... -go env -w GOPROXY=https://goproxy.cn,direct -go get -d -v ./... -go get github.com/mitchellh/gox -cd cmd/start -gox \ - -osarch="linux/amd64" \ - -output "$QSROOT/dist/quickshare/start" diff --git a/scripts/docker_run.sh b/scripts/docker_run.sh deleted file mode 100644 index 5e2304f..0000000 --- a/scripts/docker_run.sh +++ /dev/null @@ -1,7 +0,0 @@ -docker run \ - --name quickshare \ - -d -p :8686:8686 \ - -v `pwd`/quickshare/root:/quickshare/root \ - -e DEFAULTADMIN=qs \ - -e DEFAULTADMINPWD=1234 \ - hexxa/quickshare diff --git a/src/client/web/package.json b/src/client/web/package.json index 487ba04..180ee03 100644 --- a/src/client/web/package.json +++ b/src/client/web/package.json @@ -4,20 +4,11 @@ "description": "web client for quickshare", "main": "", "scripts": { - "build": "yarn prod:addjs && yarn build:prod:wp", - "build:prod:wp": "webpack --config webpack.app.prod.js", + "build": "webpack --config webpack.app.prod.js", "build:watch": "webpack --config webpack.app.prod.js --watch", - "build:dev": "yarn dev:addjs && webpack --config webpack.app.dev.js --watch", + "build:dev": "webpack --config webpack.app.dev.js --watch", "test": "jest test --maxWorkers=2", - "test:watch": "jest test --watch --maxWorkers=2", - "dev:addjs": "yarn && yarn dev:copy-immutable && yarn dev:copy-react-dom && yarn dev:copy-react", - "dev:copy-immutable": "cp ../../../node_modules/immutable/dist/immutable.min.js ../../../public/static/js/", - "dev:copy-react-dom": "cp ../../../node_modules/react-dom/umd/react-dom.development.js ../../../public/static/js/", - "dev:copy-react": "cp ../../../node_modules/react/umd/react.development.js ../../../public/static/js/", - "prod:addjs": "yarn && yarn prod:copy-immutable && yarn prod:copy-react-dom && yarn prod:copy-react", - "prod:copy-immutable": "cp ../../../node_modules/immutable/dist/immutable.min.js ../../../public/static/js/", - "prod:copy-react-dom": "cp ../../../node_modules/react-dom/umd/react-dom.production.min.js ../../../public/static/js/", - "prod:copy-react": "cp ../../../node_modules/react/umd/react.production.min.js ../../../public/static/js/" + "test:watch": "jest test --watch --maxWorkers=2" }, "author": "hexxa", "license": "LGPL-3.0", diff --git a/src/server/server.go b/src/server/server.go index ce4befb..9aeef20 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -59,7 +59,7 @@ func NewServer(cfg gocfg.ICfg) (*Server, error) { port := cfg.GrabInt("Server.Port") portStr, ok := cfg.String("ENV.PORT") - if ok { + if ok && portStr != "" { port, err = strconv.Atoi(portStr) if err != nil { panic(fmt.Sprintf("invalid port: %s", portStr))