修改使用读取配置文件的方式初始化数据库
This commit is contained in:
@ -8,7 +8,7 @@ WORKDIR /app
|
||||
|
||||
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
|
||||
|
||||
@ -25,10 +25,9 @@ ENV MYSQL_PASSWORD mysql
|
||||
ENV MYSQL_DATABASE next_terminal
|
||||
ENV SERVER_PORT 8088
|
||||
|
||||
WORKDIR /usr/local/nt
|
||||
WORKDIR /usr/local/next-terminal
|
||||
|
||||
COPY --from=builder /app/nt ./
|
||||
COPY --from=builder /app/config.yml ./
|
||||
COPY --from=builder /app/next-terminal ./
|
||||
COPY --from=builder /app/web/build ./web/build
|
||||
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的连接信息。
|
||||
|
||||
```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中
|
||||
|
||||
|
2
main.go
2
main.go
@ -36,7 +36,7 @@ func Run() error {
|
||||
Logger: logger.Default.LogMode(logger.Info),
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal("连接数据库异常", err)
|
||||
return err
|
||||
}
|
||||
|
||||
if err := global.DB.AutoMigrate(&model.User{}); err != nil {
|
||||
|
@ -23,7 +23,7 @@ func SetupRoutes() *echo.Echo {
|
||||
e.Use(middleware.Logger())
|
||||
|
||||
//fd, _ := os.OpenFile(
|
||||
// "nt.log",
|
||||
// "next-terminal.log",
|
||||
// os.O_RDWR|os.O_APPEND,
|
||||
// 0666,
|
||||
//)
|
||||
|
@ -27,16 +27,16 @@ func SetupConfig() *Config {
|
||||
|
||||
viper.SetConfigName("config")
|
||||
viper.SetConfigType("yaml")
|
||||
viper.AddConfigPath("/etc/nt/")
|
||||
viper.AddConfigPath("$HOME/.nt")
|
||||
viper.AddConfigPath("/etc/next-terminal/")
|
||||
viper.AddConfigPath("$HOME/.next-terminal")
|
||||
viper.AddConfigPath(".")
|
||||
|
||||
pflag.String("mysql.hostname", "127.0.0.1", "mysql hostname")
|
||||
pflag.Int("mysql.port", 3306, "mysql port")
|
||||
pflag.String("mysql.username", "mysql", "mysql username")
|
||||
pflag.String("mysql.password", "mysql", "mysql password")
|
||||
pflag.String("mysql.database", "next_terminal", "mysql database")
|
||||
pflag.String("server.addr", "0.0.0.0:8088", "server listen addr")
|
||||
//pflag.String("mysql.hostname", "127.0.0.1", "mysql hostname")
|
||||
//pflag.Int("mysql.port", 3306, "mysql port")
|
||||
//pflag.String("mysql.username", "mysql", "mysql username")
|
||||
//pflag.String("mysql.password", "mysql", "mysql password")
|
||||
//pflag.String("mysql.database", "next_terminal", "mysql database")
|
||||
//pflag.String("server.addr", "0.0.0.0:8088", "server listen addr")
|
||||
|
||||
pflag.Parse()
|
||||
_ = viper.BindPFlags(pflag.CommandLine)
|
||||
|
@ -4,5 +4,5 @@ nodaemon=true
|
||||
command=/usr/local/guacamole/sbin/guacd -b 0.0.0.0 -L info -f
|
||||
|
||||
[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/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 --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