totp-user: add default user 'bbgo'

There's no  env in alpine image, causes the program throw error 'No USER or USERNAME' in containers.

* Create and assign  env in bbgo image
* Fallback to use the default user 'bbgo' when env  or  was unassigned
This commit is contained in:
kettan 2022-06-22 16:45:23 +08:00
parent 5b239ad8ee
commit a0a96abeec
2 changed files with 10 additions and 7 deletions

View File

@ -1,5 +1,5 @@
# First stage container
FROM golang:1.17.6-alpine3.15 AS builder
FROM golang:1.17.11-alpine3.16 AS builder
RUN apk add --no-cache git ca-certificates gcc libc-dev pkgconfig
# gcc is for github.com/mattn/go-sqlite3
# ADD . $GOPATH/src/github.com/c9s/bbgo
@ -16,14 +16,16 @@ ADD . .
RUN go build -o $GOPATH_ORIG/bin/bbgo ./cmd/bbgo
# Second stage container
FROM alpine:3.15
FROM alpine:3.16
# RUN apk add --no-cache ca-certificates
RUN mkdir /app
# Create the default user 'bbgo' and assign to env 'USER'
ENV USER=bbgo
RUN adduser -D -G wheel "$USER"
USER ${USER}
WORKDIR /app
COPY --from=builder /go/bin/bbgo /usr/local/bin
WORKDIR /home/${USER}
ENTRYPOINT ["/usr/local/bin/bbgo"]
CMD ["run", "--config", "/config/bbgo.yaml", "--no-compile"]
# vim:filetype=dockerfile:

View File

@ -1,12 +1,12 @@
package service
import (
"fmt"
"os"
"github.com/pkg/errors"
"github.com/pquerna/otp"
"github.com/pquerna/otp/totp"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
)
@ -39,7 +39,8 @@ func NewDefaultTotpKey() (*otp.Key, error) {
}
if !ok {
return nil, fmt.Errorf("can not get USER or USERNAME env var for totp account name")
log.Warnf("can not get USER or USERNAME env var, use default name 'bbgo' for totp account name")
user = "bbgo"
}
totpAccountName = user