diff --git a/apache/tts.conf b/apache/tts.conf
deleted file mode 100644
index ba00459..0000000
--- a/apache/tts.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-
- ServerName tts.ncue.net
- Redirect permanent / https://tts.ncue.net/
-
-
-
- ServerName tts.ncue.net
-
- SSLEngine on
- SSLCertificateFile /etc/letsencrypt/live/ncue.net/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/ncue.net/privkey.pem
- # 선택: 체인 파일이 필요하면 아래 경로 사용
- # SSLCertificateChainFile /etc/letsencrypt/live/ncue.net/chain.pem
-
- ProxyRequests Off
- ProxyPreserveHost On
-
- # 전체 프록시 (FastAPI가 정적/템플릿 포함 제공)
- ProxyPass / http://127.0.0.1:8019/
- ProxyPassReverse / http://127.0.0.1:8019/
-
diff --git a/client/static/app.js b/client/static/app.js
index 0c5343a..8235617 100644
--- a/client/static/app.js
+++ b/client/static/app.js
@@ -84,7 +84,9 @@ function renderList() {
}
const label = document.createElement("span");
- label.textContent = item.display_time;
+ label.textContent = item.size_display
+ ? `${item.display_time} (${item.size_display})`
+ : item.display_time;
label.className = "item-label";
li.appendChild(label);
diff --git a/server/main.py b/server/main.py
index ac7fc38..8d723a1 100644
--- a/server/main.py
+++ b/server/main.py
@@ -64,6 +64,23 @@ def ensure_resources_dir():
RESOURCES_DIR.mkdir(parents=True, exist_ok=True)
+def format_size(bytes_size: int) -> str:
+ if bytes_size < 1024:
+ return f"{bytes_size}B"
+ if bytes_size < 1024 * 1024:
+ return f"{bytes_size / 1024:.1f}KB"
+ return f"{bytes_size / (1024 * 1024):.1f}MB"
+
+
+def get_file_size_display(filename: str | None) -> str | None:
+ if not filename:
+ return None
+ file_path = RESOURCES_DIR / filename
+ if not file_path.exists():
+ return None
+ return format_size(file_path.stat().st_size)
+
+
@app.on_event("startup")
def on_startup():
ensure_resources_dir()
@@ -84,6 +101,7 @@ def api_list_tts():
"created_at": row["created_at"].isoformat(),
"display_time": format_display_time(row["created_at"]),
"filename": row["filename"],
+ "size_display": get_file_size_display(row["filename"]),
}
for row in rows
]
@@ -117,6 +135,7 @@ def api_create_tts(payload: TtsCreateRequest):
"created_at": created_at.isoformat(),
"display_time": format_display_time(created_at),
"filename": filename,
+ "size_display": get_file_size_display(filename),
}