Add Dockerfile, fix SQLite immutable mode, URL-encode credentials

- Dockerfile: multi-stage build with golang:1.26 and alpine + ffmpeg
- SQLite: use file: URI with immutable=1 for read-only access
- URL builder: encode user/pass with PathEscape/QueryEscape for
  special characters (@, \, :, etc.)
- Health endpoint: truncate uptime to seconds
- Release skill: update smoke test to /api endpoint
- Remove unused ValidateID function
This commit is contained in:
eduard256
2026-03-25 11:28:47 +00:00
parent 27117900eb
commit 4d171f69c7
6 changed files with 44 additions and 32 deletions
+1 -1
View File
@@ -108,7 +108,7 @@ func apiHandler(w http.ResponseWriter, r *http.Request) {
func apiHealth(w http.ResponseWriter, r *http.Request) {
ResponseJSON(w, map[string]any{
"version": app.Version,
"uptime": time.Since(app.StartTime).String(),
"uptime": time.Since(app.StartTime).Truncate(time.Second).String(),
})
}
+1 -1
View File
@@ -29,7 +29,7 @@ func Init() {
log = app.GetLogger("probe")
var err error
db, err = sql.Open("sqlite3", app.DB+"?mode=ro")
db, err = sql.Open("sqlite3", "file:"+app.DB+"?mode=ro&immutable=1")
if err != nil {
log.Error().Err(err).Msg("[probe] db open")
}
+1 -1
View File
@@ -21,7 +21,7 @@ func Init() {
log = app.GetLogger("search")
var err error
db, err = sql.Open("sqlite3", app.DB+"?mode=ro")
db, err = sql.Open("sqlite3", "file:"+app.DB+"?mode=ro&immutable=1")
if err != nil {
log.Fatal().Err(err).Msg("[search] db open")
}