chore: change env names
This commit is contained in:
parent
3a478cb28d
commit
2435088eef
@ -38,7 +38,6 @@ import (
|
||||
"golang.org/x/image/font"
|
||||
"golang.org/x/image/math/fixed"
|
||||
"golang.org/x/net/html/charset"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
@ -237,36 +236,36 @@ func init() {
|
||||
|
||||
func main() {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
var dbType string
|
||||
var dbLink string
|
||||
// var dbType string
|
||||
var DATA_DIR string
|
||||
var LIBRARY_DIR string
|
||||
var UPLOADS_DIR string
|
||||
var bindAddr string
|
||||
var BASE_PATH string
|
||||
var UPLOADS_PATH string
|
||||
|
||||
if db_type, exist := os.LookupEnv("DB_TYPE"); exist {
|
||||
dbType = db_type
|
||||
// if db_type, exist := os.LookupEnv("DB_TYPE"); exist {
|
||||
// dbType = db_type
|
||||
// } else {
|
||||
// log.Fatalln("Not found DB_TYPE env")
|
||||
// }
|
||||
if env, exist := os.LookupEnv("DATA_DIR"); exist {
|
||||
DATA_DIR = env
|
||||
} else {
|
||||
log.Fatalln("Not found DB_TYPE env")
|
||||
log.Fatalln("Not found DATA_DIR env")
|
||||
}
|
||||
if db_link, exist := os.LookupEnv("DB_LINK"); exist {
|
||||
dbLink = db_link
|
||||
} else {
|
||||
log.Fatalln("Not found DB_LINK env")
|
||||
}
|
||||
if bind, exist := os.LookupEnv("BIND_ADDR"); exist {
|
||||
bindAddr = bind
|
||||
if env, exist := os.LookupEnv("BIND_ADDR"); exist {
|
||||
bindAddr = env
|
||||
} else {
|
||||
bindAddr = ":8080"
|
||||
}
|
||||
if basePath, exist := os.LookupEnv("BASE_PATH"); exist {
|
||||
BASE_PATH = basePath
|
||||
if env, exist := os.LookupEnv("LIBRARY_DIR"); exist {
|
||||
LIBRARY_DIR = env
|
||||
} else {
|
||||
log.Fatalln("Not found BASE_PATH env")
|
||||
log.Fatalln("Not found LIBRARY_DIR env")
|
||||
}
|
||||
if uploadsPath, exist := os.LookupEnv("UPLOADS_PATH"); exist {
|
||||
UPLOADS_PATH = uploadsPath
|
||||
if env, exist := os.LookupEnv("UPLOADS_DIR"); exist {
|
||||
UPLOADS_DIR = env
|
||||
} else {
|
||||
log.Fatalln("Not found UPLOADS_PATH env")
|
||||
log.Fatalln("Not found UPLOADS_DIR env")
|
||||
}
|
||||
//if _, exist := os.LookupEnv("WHITELIST_FILE"); !exist {
|
||||
//log.Fatalln("Not found WHITELIST_FILE env")
|
||||
@ -275,16 +274,16 @@ func main() {
|
||||
log.Println("connecting...")
|
||||
var db *gorm.DB
|
||||
var err error
|
||||
switch dbType {
|
||||
case "sqlite":
|
||||
db, err = gorm.Open(sqlite.Open(dbLink), &gorm.Config{
|
||||
// switch dbType {
|
||||
// case "sqlite":
|
||||
db, err = gorm.Open(sqlite.Open(DATA_DIR+"./YaBL.db"), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Error),
|
||||
})
|
||||
case "posgresql":
|
||||
db, err = gorm.Open(postgres.Open(dbLink), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Error),
|
||||
})
|
||||
}
|
||||
// case "posgresql":
|
||||
// db, err = gorm.Open(postgres.Open(dbLink), &gorm.Config{
|
||||
// Logger: logger.Default.LogMode(logger.Error),
|
||||
// })
|
||||
// }
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@ -321,13 +320,8 @@ func main() {
|
||||
END;
|
||||
`)
|
||||
log.Println("migrated!")
|
||||
var keysPath string
|
||||
if keysPathEnv, exist := os.LookupEnv("KEYS_PATH"); exist {
|
||||
keysPath = keysPathEnv
|
||||
} else {
|
||||
log.Fatalln("Not found KEYS_PATH env")
|
||||
}
|
||||
priv, pub := loadOrGenerateKeys(keysPath)
|
||||
|
||||
priv, pub := loadOrGenerateKeys(DATA_DIR + "/keys")
|
||||
|
||||
if len(os.Args) == 3 && os.Args[1] == "--authors-whitelist" {
|
||||
GenWhitelist(db, os.Args[2])
|
||||
@ -538,10 +532,10 @@ func main() {
|
||||
var bookFile zip.File
|
||||
var filename string
|
||||
if book.Bookcase == nil {
|
||||
bookReader, _ = os.Open(UPLOADS_PATH + "/books/" + book.Filename)
|
||||
bookReader, _ = os.Open(UPLOADS_DIR + "/books/" + book.Filename)
|
||||
filename = book.Filename
|
||||
} else {
|
||||
bookcase, err := zip.OpenReader(BASE_PATH + "/" + *book.Bookcase)
|
||||
bookcase, err := zip.OpenReader(LIBRARY_DIR + "/" + *book.Bookcase)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
ctx.JSON(404, gin.H{"err": "file not exists"})
|
||||
@ -574,7 +568,7 @@ func main() {
|
||||
db.Model(&schemas.Book{}).Where("ID = ?", ctx.Param("id")).First(&book)
|
||||
var bookContent []byte
|
||||
if book.Bookcase != nil {
|
||||
bookcase, err := zip.OpenReader(BASE_PATH + "/" + *book.Bookcase)
|
||||
bookcase, err := zip.OpenReader(LIBRARY_DIR + "/" + *book.Bookcase)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
ctx.Data(200, "", []byte("<section><h2>404</h2><epigraph><span>текст книги не найден на сервере</span></epigraph><br/><p>обратитесь к администратору библиотеки</p></section>"))
|
||||
@ -594,7 +588,7 @@ func main() {
|
||||
bookReader, _ := bookFile.Open()
|
||||
bookContent, _ = io.ReadAll(bookReader)
|
||||
} else {
|
||||
bookContent, _ = os.ReadFile(UPLOADS_PATH + "/books/" + book.Filename)
|
||||
bookContent, _ = os.ReadFile(UPLOADS_DIR + "/books/" + book.Filename)
|
||||
}
|
||||
switch book.Filetype {
|
||||
case "fb2":
|
||||
@ -687,7 +681,7 @@ func main() {
|
||||
}
|
||||
var bookReader io.ReadCloser
|
||||
if book.Bookcase != nil {
|
||||
bookcase, err := zip.OpenReader(BASE_PATH + "/" + *book.Bookcase)
|
||||
bookcase, err := zip.OpenReader(LIBRARY_DIR + "/" + *book.Bookcase)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
ctx.JSON(200, []ChapterJSON{})
|
||||
@ -706,7 +700,7 @@ func main() {
|
||||
}
|
||||
bookReader, _ = bookFile.Open()
|
||||
} else {
|
||||
bookReader, _ = os.Open(UPLOADS_PATH + "/books/" + book.Filename)
|
||||
bookReader, _ = os.Open(UPLOADS_DIR + "/books/" + book.Filename)
|
||||
}
|
||||
|
||||
var bookBody BookBody
|
||||
@ -789,7 +783,7 @@ func main() {
|
||||
var decodedImage []byte
|
||||
if book.Bookcase == nil {
|
||||
if book.ExternalCover == nil {
|
||||
bookFile, err := os.Open(UPLOADS_PATH + "/books/" + book.Filename)
|
||||
bookFile, err := os.Open(UPLOADS_DIR + "/books/" + book.Filename)
|
||||
if err != nil {
|
||||
ctx.Data(200, "image/png", genCover(book.Title))
|
||||
return
|
||||
@ -822,7 +816,7 @@ func main() {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
decodedImage, err = os.ReadFile(UPLOADS_PATH + "/covers/" + *book.ExternalCover)
|
||||
decodedImage, err = os.ReadFile(UPLOADS_DIR + "/covers/" + *book.ExternalCover)
|
||||
if err != nil {
|
||||
ctx.Data(200, "image/png", genCover(book.Title))
|
||||
return
|
||||
@ -830,7 +824,7 @@ func main() {
|
||||
}
|
||||
} else {
|
||||
// TODO: normal handling of missing file should be here...
|
||||
bookcase, err := zip.OpenReader(BASE_PATH + "/" + *book.Bookcase)
|
||||
bookcase, err := zip.OpenReader(LIBRARY_DIR + "/" + *book.Bookcase)
|
||||
if err != nil {
|
||||
ctx.Data(200, "image/png", genCover(book.Title))
|
||||
return
|
||||
@ -1137,8 +1131,8 @@ func main() {
|
||||
return
|
||||
}
|
||||
// Пути к файлам
|
||||
bookPath := filepath.Join(UPLOADS_PATH, "books", bookUUID+".pdf")
|
||||
coverPath := filepath.Join(UPLOADS_PATH, "covers", bookUUID+".png")
|
||||
bookPath := filepath.Join(UPLOADS_DIR, "books", bookUUID+".pdf")
|
||||
coverPath := filepath.Join(UPLOADS_DIR, "covers", bookUUID+".png")
|
||||
|
||||
// Создать директории если их нет
|
||||
os.MkdirAll(filepath.Dir(bookPath), os.ModePerm)
|
||||
@ -1186,7 +1180,7 @@ func main() {
|
||||
case "application/x-fictionbook+xml":
|
||||
rawFB2 := reaper.Parse(bytes.NewReader(fileData))
|
||||
// Пути к файлам
|
||||
bookPath := filepath.Join(UPLOADS_PATH, "books", bookUUID+".fb2")
|
||||
bookPath := filepath.Join(UPLOADS_DIR, "books", bookUUID+".fb2")
|
||||
|
||||
// Создать директории если их нет
|
||||
os.MkdirAll(filepath.Dir(bookPath), os.ModePerm)
|
||||
|
||||
@ -11,15 +11,15 @@ type Config struct {
|
||||
}
|
||||
|
||||
func Load() (*Config, error) {
|
||||
dir := os.Getenv("BASE_PATH")
|
||||
db := os.Getenv("DB_LINK")
|
||||
libDir := os.Getenv("LIBRARY_DIR")
|
||||
dataDir := os.Getenv("DATA_DIR")
|
||||
|
||||
if dir == "" || db == "" {
|
||||
return nil, errors.New("must set BASE_PATH and DB_LINK in env")
|
||||
if libDir == "" || dataDir == "" {
|
||||
return nil, errors.New("must set LIBRARY_DIR and DATA_DIR in env")
|
||||
}
|
||||
|
||||
return &Config{
|
||||
BaseDir: dir,
|
||||
DBPath: db,
|
||||
BaseDir: libDir,
|
||||
DBPath: dataDir + "/YaBL.db",
|
||||
}, nil
|
||||
}
|
||||
|
||||
@ -4,17 +4,13 @@ services:
|
||||
container_name: yabl
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080" # если API слушает на 8080
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- DB_TYPE=sqlite
|
||||
- DB_LINK=./yabl.db
|
||||
- BASE_PATH=/app/lib
|
||||
- BIND_ADDR=:8080
|
||||
- KEYS_PATH=/app/keys
|
||||
- UPLOADS_PATH=/app/uploads
|
||||
|
||||
- DATA_DIR=/app/data
|
||||
- LIBRARY_DIR=/app/lib
|
||||
- UPLOADS_DIR=/app/uploads
|
||||
# - BIND_ADDR=:8080
|
||||
volumes:
|
||||
- ./lib:/app/lib
|
||||
- ./uploads:/app/uploads
|
||||
- ./keys:/app/keys
|
||||
- ./yabl.db:/app/yabl.db
|
||||
- ./data:/app/data
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user