mirror of
https://github.com/IceWhaleTech/CasaOS.git
synced 2025-06-16 05:55:33 +00:00
- [Apps] This is a feature that has been highly requested by the community. Import the original Docker application into CasaOS. Now it's easy to import with just a few clicks! - [Apps] App list supports a custom sorting function! You can arrange apps in different orders by dragging the icons. - [Apps] App custom installation supports Docker Compose configuration import in YAML format. - [Files] Added thumbnail preview function for image files. - [Connect] Multiple CasaConenct devices in the LAN will be transmitted through the LAN network. - [System] Added a switch for auto-mounting USB disk devices. 🎈 Enhancement - [System] Optimized the system update alert, you will see the new version update log from the next version. - [Apps] Added live preview for icons in custom installed apps. - [Apps] Optimized the input of WebUI. - [Files] Completely updated the image preview, now it supports switching all images in the same folder, as well as dragging, zooming, rotating and resetting. - [Widgets] Added color levels for CPU and RAM charts. - [Conenct] Optimized the display of the right-click menu of the Connect friends list. 🎈 Changed - [Files] Change the initial display directory to /DATA 🐞 Fixed - [System] Fixed an issue with Raspberry Pi devices failing to boot using USB disks. (Achieved by disabling USB disk auto-mount) - [Apps] Fixed the issue that some Docker CLI commands failed to import. - [Apps] Fixed the issue that the app is not easily recognized in /DATA/AppData directory and docker command line after installation, it will be shown as the app name. (Newly installed apps only) - [Apps] Fixed the issue that Pi-hole cannot be launched after installation in the app store. - [Apps] Fixed the issue that apps cannot be updated with WatchTower. - [Files] Fixed the issue that when there is an upload task, the task status is lost after closing Files.
88 lines
1.7 KiB
Go
88 lines
1.7 KiB
Go
package config
|
||
|
||
import (
|
||
"fmt"
|
||
"log"
|
||
"os"
|
||
"path"
|
||
"path/filepath"
|
||
"runtime"
|
||
"strings"
|
||
|
||
"github.com/IceWhaleTech/CasaOS/model"
|
||
"github.com/go-ini/ini"
|
||
)
|
||
|
||
//系统配置
|
||
var SysInfo = &model.SysInfoModel{}
|
||
|
||
//用户相关
|
||
var UserInfo = &model.UserModel{}
|
||
|
||
//用户相关
|
||
var AppInfo = &model.APPModel{}
|
||
|
||
//var RedisInfo = &model.RedisModel{}
|
||
|
||
//server相关
|
||
var ServerInfo = &model.ServerModel{}
|
||
|
||
var SystemConfigInfo = &model.SystemConfig{}
|
||
|
||
var CasaOSGlobalVariables = &model.CasaOSGlobalVariables{}
|
||
|
||
var FileSettingInfo = &model.FileSetting{}
|
||
|
||
var Cfg *ini.File
|
||
|
||
//初始化设置,获取系统的部分信息。
|
||
func InitSetup(config string) {
|
||
|
||
var configDir = USERCONFIGURL
|
||
if len(config) > 0 {
|
||
configDir = config
|
||
}
|
||
var err error
|
||
//读取文件
|
||
Cfg, err = ini.Load(configDir)
|
||
if err != nil {
|
||
fmt.Printf("Fail to read file: %v", err)
|
||
os.Exit(1)
|
||
}
|
||
|
||
mapTo("user", UserInfo)
|
||
mapTo("app", AppInfo)
|
||
//mapTo("redis", RedisInfo)
|
||
mapTo("server", ServerInfo)
|
||
mapTo("system", SystemConfigInfo)
|
||
mapTo("file", FileSettingInfo)
|
||
SystemConfigInfo.ConfigPath = configDir
|
||
// AppInfo.ProjectPath = getCurrentDirectory() //os.Getwd()
|
||
|
||
}
|
||
|
||
//映射
|
||
func mapTo(section string, v interface{}) {
|
||
err := Cfg.Section(section).MapTo(v)
|
||
if err != nil {
|
||
log.Fatalf("Cfg.MapTo %s err: %v", section, err)
|
||
}
|
||
}
|
||
|
||
// 获取当前执行文件绝对路径(go run)
|
||
func getCurrentAbPathByCaller() string {
|
||
var abPath string
|
||
_, filename, _, ok := runtime.Caller(0)
|
||
if ok {
|
||
abPath = path.Dir(filename)
|
||
}
|
||
return abPath
|
||
}
|
||
func getCurrentDirectory() string {
|
||
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
return strings.Replace(dir, "\\", "/", -1)
|
||
}
|