Hardcode build number in backend
This commit is contained in:
@@ -2,11 +2,8 @@ FROM python:3.12-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ARG BUILD_NUMBER=dev
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
SITE_BUILD_NUMBER=${BUILD_NUMBER}
|
||||
PYTHONUNBUFFERED=1
|
||||
|
||||
COPY backend/requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
1
backend/app/build_info.py
Normal file
1
backend/app/build_info.py
Normal file
@@ -0,0 +1 @@
|
||||
BUILD_NUMBER = "2901262147"
|
||||
@@ -2,6 +2,7 @@ from typing import Optional
|
||||
from pydantic import AliasChoices, Field
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from .build_info import BUILD_NUMBER
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_prefix="")
|
||||
@@ -38,9 +39,7 @@ class Settings(BaseSettings):
|
||||
artwork_cache_mode: str = Field(
|
||||
default="remote", validation_alias=AliasChoices("ARTWORK_CACHE_MODE")
|
||||
)
|
||||
site_build_number: Optional[str] = Field(
|
||||
default=None, validation_alias=AliasChoices("SITE_BUILD_NUMBER")
|
||||
)
|
||||
site_build_number: Optional[str] = Field(default=BUILD_NUMBER)
|
||||
site_banner_enabled: bool = Field(
|
||||
default=False, validation_alias=AliasChoices("SITE_BANNER_ENABLED")
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
from .config import settings
|
||||
from .db import init_db, set_setting
|
||||
from .db import init_db
|
||||
from .routers.requests import (
|
||||
router as requests_router,
|
||||
startup_warmup_requests_cache,
|
||||
@@ -41,8 +41,6 @@ async def health() -> dict:
|
||||
@app.on_event("startup")
|
||||
async def startup() -> None:
|
||||
init_db()
|
||||
if settings.site_build_number and settings.site_build_number.strip():
|
||||
set_setting("site_build_number", settings.site_build_number.strip())
|
||||
runtime = get_runtime_settings()
|
||||
configure_logging(runtime.log_level, runtime.log_file)
|
||||
asyncio.create_task(run_daily_jellyfin_sync())
|
||||
|
||||
@@ -88,7 +88,6 @@ SETTING_KEYS: List[str] = [
|
||||
"requests_cleanup_time",
|
||||
"requests_cleanup_days",
|
||||
"requests_data_source",
|
||||
"site_build_number",
|
||||
"site_banner_enabled",
|
||||
"site_banner_message",
|
||||
"site_banner_tone",
|
||||
|
||||
@@ -14,6 +14,7 @@ _BOOL_FIELDS = {
|
||||
"jellyfin_sync_to_arr",
|
||||
"site_banner_enabled",
|
||||
}
|
||||
_SKIP_OVERRIDE_FIELDS = {"site_build_number"}
|
||||
|
||||
|
||||
def get_runtime_settings():
|
||||
@@ -22,6 +23,8 @@ def get_runtime_settings():
|
||||
for key, value in overrides.items():
|
||||
if value is None:
|
||||
continue
|
||||
if key in _SKIP_OVERRIDE_FIELDS:
|
||||
continue
|
||||
if key in _INT_FIELDS:
|
||||
try:
|
||||
update[key] = int(value)
|
||||
|
||||
Reference in New Issue
Block a user