修改使用读取配置文件的方式初始化数据库
This commit is contained in:
@ -8,7 +8,7 @@ WORKDIR /app
|
|||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN go env && CGO_ENABLED=0 go build -o nt main.go
|
RUN go env && CGO_ENABLED=0 go build -o next-terminal main.go
|
||||||
|
|
||||||
FROM guacamole/guacd:1.2.0
|
FROM guacamole/guacd:1.2.0
|
||||||
|
|
||||||
@ -25,10 +25,9 @@ ENV MYSQL_PASSWORD mysql
|
|||||||
ENV MYSQL_DATABASE next_terminal
|
ENV MYSQL_DATABASE next_terminal
|
||||||
ENV SERVER_PORT 8088
|
ENV SERVER_PORT 8088
|
||||||
|
|
||||||
WORKDIR /usr/local/nt
|
WORKDIR /usr/local/next-terminal
|
||||||
|
|
||||||
COPY --from=builder /app/nt ./
|
COPY --from=builder /app/next-terminal ./
|
||||||
COPY --from=builder /app/config.yml ./
|
|
||||||
COPY --from=builder /app/web/build ./web/build
|
COPY --from=builder /app/web/build ./web/build
|
||||||
COPY --from=builder /app/web/src/fonts/Menlo-Regular-1.ttf /usr/share/fonts/
|
COPY --from=builder /app/web/src/fonts/Menlo-Regular-1.ttf /usr/share/fonts/
|
||||||
|
|
||||||
|
25
README.md
25
README.md
@ -14,14 +14,31 @@ Next Terminal基于Apache Guacamole开发,使用到了guacd服务。
|
|||||||
因为程序依赖了mysql,所以在启动时需要指定mysql的连接信息。
|
因为程序依赖了mysql,所以在启动时需要指定mysql的连接信息。
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -p 8088:8088 --env MYSQL_HOSTNAME=d-mysql-57 --env MYSQL_USERNAME=root --env MYSQL_PASSWORD=root --name next-terminal --link d-mysql-57 dushixiang/next-terminal:0.0.1
|
mkdir /etc/next-terminal
|
||||||
|
cat <<EOF >> /etc/next-terminal/config.yaml
|
||||||
|
mysql:
|
||||||
|
hostname: 172.17.0.1
|
||||||
|
port: 3306
|
||||||
|
username: root
|
||||||
|
password: root
|
||||||
|
database: next_terminal
|
||||||
|
server:
|
||||||
|
addr: 0.0.0.0:8088
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
```shell
|
||||||
|
docker run -d \
|
||||||
|
-p 8088:8088 \
|
||||||
|
-v /etc/next-terminal/config.yaml:/etc/next-terminal/config.yaml \
|
||||||
|
--name next-terminal \
|
||||||
|
--restart always dushixiang/next-terminal:0.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
程序安装目录地址为 `/usr/local/nt`
|
程序安装目录地址为 `/usr/local/next-terminal`
|
||||||
|
|
||||||
录屏文件存放目录为 `/usr/local/nt/recording`
|
录屏文件存放目录为 `/usr/local/next-terminal/recording`
|
||||||
|
|
||||||
远程桌面挂载目录为 `/usr/local/nt/drive`
|
远程桌面挂载目录为 `/usr/local/next-terminal/drive`
|
||||||
|
|
||||||
可以通过 `-v` 参数将宿主机器的目录映射到docker中
|
可以通过 `-v` 参数将宿主机器的目录映射到docker中
|
||||||
|
|
||||||
|
2
main.go
2
main.go
@ -36,7 +36,7 @@ func Run() error {
|
|||||||
Logger: logger.Default.LogMode(logger.Info),
|
Logger: logger.Default.LogMode(logger.Info),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("连接数据库异常", err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := global.DB.AutoMigrate(&model.User{}); err != nil {
|
if err := global.DB.AutoMigrate(&model.User{}); err != nil {
|
||||||
|
@ -23,7 +23,7 @@ func SetupRoutes() *echo.Echo {
|
|||||||
e.Use(middleware.Logger())
|
e.Use(middleware.Logger())
|
||||||
|
|
||||||
//fd, _ := os.OpenFile(
|
//fd, _ := os.OpenFile(
|
||||||
// "nt.log",
|
// "next-terminal.log",
|
||||||
// os.O_RDWR|os.O_APPEND,
|
// os.O_RDWR|os.O_APPEND,
|
||||||
// 0666,
|
// 0666,
|
||||||
//)
|
//)
|
||||||
|
@ -27,16 +27,16 @@ func SetupConfig() *Config {
|
|||||||
|
|
||||||
viper.SetConfigName("config")
|
viper.SetConfigName("config")
|
||||||
viper.SetConfigType("yaml")
|
viper.SetConfigType("yaml")
|
||||||
viper.AddConfigPath("/etc/nt/")
|
viper.AddConfigPath("/etc/next-terminal/")
|
||||||
viper.AddConfigPath("$HOME/.nt")
|
viper.AddConfigPath("$HOME/.next-terminal")
|
||||||
viper.AddConfigPath(".")
|
viper.AddConfigPath(".")
|
||||||
|
|
||||||
pflag.String("mysql.hostname", "127.0.0.1", "mysql hostname")
|
//pflag.String("mysql.hostname", "127.0.0.1", "mysql hostname")
|
||||||
pflag.Int("mysql.port", 3306, "mysql port")
|
//pflag.Int("mysql.port", 3306, "mysql port")
|
||||||
pflag.String("mysql.username", "mysql", "mysql username")
|
//pflag.String("mysql.username", "mysql", "mysql username")
|
||||||
pflag.String("mysql.password", "mysql", "mysql password")
|
//pflag.String("mysql.password", "mysql", "mysql password")
|
||||||
pflag.String("mysql.database", "next_terminal", "mysql database")
|
//pflag.String("mysql.database", "next_terminal", "mysql database")
|
||||||
pflag.String("server.addr", "0.0.0.0:8088", "server listen addr")
|
//pflag.String("server.addr", "0.0.0.0:8088", "server listen addr")
|
||||||
|
|
||||||
pflag.Parse()
|
pflag.Parse()
|
||||||
_ = viper.BindPFlags(pflag.CommandLine)
|
_ = viper.BindPFlags(pflag.CommandLine)
|
||||||
|
@ -4,5 +4,5 @@ nodaemon=true
|
|||||||
command=/usr/local/guacamole/sbin/guacd -b 0.0.0.0 -L info -f
|
command=/usr/local/guacamole/sbin/guacd -b 0.0.0.0 -L info -f
|
||||||
|
|
||||||
[program:next-terminal]
|
[program:next-terminal]
|
||||||
; command=/usr/local/nt/nt --mysql.hostname $MYSQL_HOSTNAME --mysql.port $MYSQL_PORT --mysql.username $MYSQL_USERNAME --mysql.password $MYSQL_PASSWORD --mysql.database $MYSQL_DATABASE --server.addr 0.0.0.0:$SERVER_PORT
|
; command=/usr/local/next-terminal/next-terminal --mysql.hostname %(ENV_MYSQL_HOSTNAME)s --mysql.port %(ENV_MYSQL_PORT)s --mysql.username %(ENV_MYSQL_USERNAME)s --mysql.password %(ENV_MYSQL_PASSWORD)s --mysql.database %(ENV_MYSQL_DATABASE)s --server.addr 0.0.0.0:%(ENV_SERVER_PORT)s
|
||||||
command=/usr/local/nt/nt --mysql.hostname %(ENV_MYSQL_HOSTNAME)s --mysql.port %(ENV_MYSQL_PORT)s --mysql.username %(ENV_MYSQL_USERNAME)s --mysql.password %(ENV_MYSQL_PASSWORD)s --mysql.database %(ENV_MYSQL_DATABASE)s --server.addr 0.0.0.0:%(ENV_SERVER_PORT)s
|
command=/usr/local/next-terminal/next-terminal
|
Reference in New Issue
Block a user