persiste datos en ./data/ montado como volumen del host
Reemplaza los bind mounts individuales de cantina.db y .spotify_cache por un único directorio ./data/ montado en /app/data. El entrypoint crea el directorio y los archivos vacíos si no existen, evitando que Docker los cree como directorios al hacer un despliegue limpio. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
.env
|
||||
.spotify_cache
|
||||
cantina.db
|
||||
data/
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.venv/
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ class Settings(BaseSettings):
|
||||
ADMIN_USERNAME: str = "admin"
|
||||
ADMIN_PASSWORD: str = "admin123"
|
||||
SECRET_KEY: str = "cambia-esta-clave-secreta"
|
||||
DATABASE_URL: str = "sqlite:///./cantina.db"
|
||||
DATABASE_URL: str = "sqlite:///./data/cantina.db"
|
||||
|
||||
SPOTIFY_SCOPES: str = (
|
||||
"user-read-playback-state "
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ def spotify_callback(code: str):
|
||||
@router.get("/logout")
|
||||
def spotify_logout():
|
||||
try:
|
||||
os.remove(".spotify_cache")
|
||||
os.remove("data/.spotify_cache")
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
return RedirectResponse(url="/auth/login")
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ _oauth = SpotifyOAuth(
|
||||
client_secret=settings.SPOTIFY_CLIENT_SECRET,
|
||||
redirect_uri=settings.SPOTIFY_REDIRECT_URI,
|
||||
scope=settings.SPOTIFY_SCOPES,
|
||||
cache_path=".spotify_cache",
|
||||
cache_path="data/.spotify_cache",
|
||||
open_browser=False,
|
||||
)
|
||||
|
||||
|
||||
+1
-2
@@ -5,8 +5,7 @@ services:
|
||||
- "8000:8000"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./cantina.db:/app/cantina.db
|
||||
- ./.spotify_cache:/app/.spotify_cache
|
||||
- ./data:/app/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- containers
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Archivos de datos — crearlos si no existen para que los bind mounts funcionen
|
||||
touch cantina.db .spotify_cache
|
||||
mkdir -p data
|
||||
touch data/cantina.db data/.spotify_cache
|
||||
|
||||
exec uvicorn app.main:app \
|
||||
--host 0.0.0.0 \
|
||||
|
||||
Reference in New Issue
Block a user