From 81e1edae2a4decba140891959c52233e8a703c1c Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 13 Nov 2022 18:46:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Docker=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/.gitignore | 1 + docker/Dockerfile | 35 +++++++++++++++++++++ docker/build.sh | 5 +++ docker/run.sh | 5 +++ go.mod | 2 ++ internal/web/actions/default/setup/index.go | 2 +- 6 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 docker/.gitignore create mode 100644 docker/Dockerfile create mode 100755 docker/build.sh create mode 100755 docker/run.sh diff --git a/docker/.gitignore b/docker/.gitignore new file mode 100644 index 00000000..6f66c74b --- /dev/null +++ b/docker/.gitignore @@ -0,0 +1 @@ +*.zip \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..8f8cf4bd --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,35 @@ +FROM alpine:edge +LABEL maintainer="iwind.liu@gmail.com" +ENV TZ "Asia/Shanghai" +ENV VERSION 0.5.7 +ENV ROOT_DIR /usr/local/goedge +ENV TAR_FILE edge-admin-linux-amd64-plus-v${VERSION}.zip + +RUN apk add --no-cache tzdata + +RUN mkdir ${ROOT_DIR}; +COPY ${TAR_FILE} ${ROOT_DIR}/ + +RUN apk add unzip; \ + cd ${ROOT_DIR}; \ + unzip ${ROOT_DIR}/${TAR_FILE}; \ + rm -f ${ROOT_DIR}/${TAR_FILE}; + +RUN apk add mysql mysql-client; \ + sed -e "s/\[mysqld\]/\[mysqld\]\n\ndatadir=\/var\/lib\/mysql\nport=3306\ninnodb_flush_log_at_trx_commit=2\nmax_connections=256\nmax_prepared_stmt_count=65535\nbinlog_cache_size=1M\nbinlog_stmt_cache_size=1M\nthread_cache_size=32\nbinlog_expire_logs_seconds=1209600\n\n/" /etc/my.cnf > /tmp/my.cnf; \ + cp /tmp/my.cnf /etc/my.cnf; \ + sed -e "s/skip-networking/#skip-networking/" /etc/my.cnf.d/mariadb-server.cnf > /tmp/mariadb-server.cnf; \ + cp /tmp/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf; \ + mysql_install_db --user=mysql +RUN mysqld_safe --user=mysql & \ + sleep 5; \ + mysql -uroot -hlocalhost --execute="ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';" + +RUN echo -e "#!/usr/bin/env sh\n\nmysqld_safe --user=mysql &\n/usr/local/goedge/edge-admin/bin/edge-admin\n" > ${ROOT_DIR}/run.sh; \ + chmod u+x ${ROOT_DIR}/run.sh + +EXPOSE 7788 +EXPOSE 8001 +EXPOSE 3306 + +ENTRYPOINT [ "/usr/local/goedge/run.sh" ] \ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 00000000..a2838f08 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +VERSION=latest + +docker build -t goedge/edge-admin:${VERSION} . diff --git a/docker/run.sh b/docker/run.sh new file mode 100755 index 00000000..5c768362 --- /dev/null +++ b/docker/run.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +VERSION=latest + +docker run -d -p 7788:7788 -p 8001:8001 -p 3306:3306 --name edge-admin goedge/edge-admin:${VERSION} diff --git a/go.mod b/go.mod index 20f3b18f..43845429 100644 --- a/go.mod +++ b/go.mod @@ -3,9 +3,11 @@ module github.com/TeaOSLab/EdgeAdmin go 1.18 replace github.com/TeaOSLab/EdgeCommon => ../EdgeCommon +replace github.com/TeaOSLab/EdgePlus => ../EdgePlus require ( github.com/TeaOSLab/EdgeCommon v0.0.0-00010101000000-000000000000 + github.com/TeaOSLab/EdgePlus v0.0.0-00010101000000-000000000000 github.com/cespare/xxhash v1.1.0 github.com/go-sql-driver/mysql v1.5.0 github.com/iwind/TeaGo v0.0.0-20220304043459-0dd944a5b475 diff --git a/internal/web/actions/default/setup/index.go b/internal/web/actions/default/setup/index.go index 062652d8..89536b19 100644 --- a/internal/web/actions/default/setup/index.go +++ b/internal/web/actions/default/setup/index.go @@ -22,7 +22,7 @@ func (this *IndexAction) RunGet(params struct{}) { currentHost = host } } - if net.ParseIP(currentHost) != nil { + if net.ParseIP(currentHost) != nil && currentHost != "localhost" && currentHost != "127.0.0.1" { this.Data["currentHost"] = currentHost } else { this.Data["currentHost"] = ""