diff --git a/Dockerfile b/Dockerfile index 5870610..b1d48c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,10 +7,6 @@ ENV PYTHONUNBUFFERED=1 WORKDIR /app -RUN apt-get update \ - && apt-get install -y --no-install-recommends sqlite3 \ - && rm -rf /var/lib/apt/lists/* - COPY pyproject.toml README.md ./ COPY src ./src diff --git a/README.md b/README.md index 0df73d3..1c26f73 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ You will be redirected to Google to sign in. Only emails in `ALLOWED_EMAILS` are When deploying (e.g. to Railway): -- **Railway builds the Dockerfile** using `python:3.12-slim-bookworm`, installs `sqlite3` for SSH database inspection, installs the package with `pip install .`, and starts uvicorn via `railway.json` `startCommand`. Railway injects `$PORT` and the start command binds to it. +- **Railway builds the Dockerfile** using `python:3.12-slim-bookworm`, installs the package with `pip install .`, and starts uvicorn via `railway.json` `startCommand`. Railway injects `$PORT` and the start command binds to it. - **For SQLite, mount a persistent volume** at `/data` and set `DATABASE_URL=sqlite:////data/argus.db`. SQLite written to the container's local filesystem will be wiped on every redeploy. - **`SESSION_SECRET` is required** — the app refuses to boot without it. Generate with `python -c "import secrets; print(secrets.token_hex(32))"`. - **Port:** the Dockerfile's `CMD` binds to a fixed port 8000. Railway overrides this via `railway.json`'s `startCommand`, which substitutes its injected `$PORT`. To change the port in non-Railway environments, override the container command (e.g. `docker run … argus-image uvicorn argus.main:app --host 0.0.0.0 --port 9000`). diff --git a/SPEC.md b/SPEC.md index 2fe4b79..bc8d94b 100644 --- a/SPEC.md +++ b/SPEC.md @@ -543,7 +543,7 @@ ARGUS_MANUAL_TEST=1 uv run pytest tests/test_discord_format_manual.py -v -s 2. Create new Railway project → Deploy from GitHub repo 3. Add a Volume, mount at `/data`, set `DATABASE_URL=sqlite:////data/argus.db` 4. Set all required environment variables in Railway dashboard -5. Railway builds `Dockerfile`, installs the package and SQLite CLI, then runs uvicorn against `argus.main:app`. The exact start command (with `$PORT` injection) comes from `railway.json`'s `startCommand`, which overrides the Dockerfile's `CMD`. +5. Railway builds `Dockerfile`, installs the package, then runs uvicorn against `argus.main:app`. The exact start command (with `$PORT` injection) comes from `railway.json`'s `startCommand`, which overrides the Dockerfile's `CMD`. ```json {