fix(deploy): ensure /root/.pry dir and volume exist for SQLite migrations #7

Merged
cryptorugmunch merged 2 commits from fix/alembic-deploy-runtime into main 2026-07-03 02:46:17 +02:00
3 changed files with 8 additions and 6 deletions

View file

@ -41,7 +41,7 @@ COPY routers/ ./routers/
COPY llm_providers/ ./llm_providers/
COPY stealth_scripts/ ./stealth_scripts/
COPY templates/ ./templates/
RUN mkdir -p /app/sessions
RUN mkdir -p /app/sessions /root/.pry
EXPOSE 8002
HEALTHCHECK --interval=15s --timeout=5s --start-period=10s --retries=3 \

View file

@ -4,16 +4,15 @@ from logging.config import fileConfig
from sqlalchemy import engine_from_config, pool
from alembic import context
from db import Base
from db import Base, _resolve_database_url
config = context.config
if config.config_file_name is not None:
fileConfig(config.config_file_name)
db_url = os.getenv("PRY_DATABASE_URL")
if db_url is not None:
config.set_main_option("sqlalchemy.url", db_url)
# Always use the same URL resolution logic as the application.
config.set_main_option("sqlalchemy.url", os.getenv("PRY_DATABASE_URL") or _resolve_database_url())
target_metadata = Base.metadata
exclude_tables = {"spatial_ref_sys"}

View file

@ -10,7 +10,9 @@ services:
ports:
- "127.0.0.1:8005:8002"
volumes:
- pry-data:/root/.pry
- pry-sessions:/app/sessions
env_file: .env
environment:
- PYTHONUNBUFFERED=1
- PRY_TIMEOUT=60
@ -44,7 +46,7 @@ services:
container_name: pry-flaresolverr
restart: unless-stopped
ports:
- "127.0.0.1:8191:8191"
- "127.0.0.1:8192:8191"
environment:
- LOG_LEVEL=info
- CAPTCHA_SOLVER=none
@ -76,4 +78,5 @@ services:
- tor
volumes:
pry-data:
pry-sessions: