forked from cartsnitch/cartsnitch
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b22f2ee614 |
@@ -16,8 +16,6 @@ WORKDIR /app
|
|||||||
RUN adduser --system --group --uid 1000 app
|
RUN adduser --system --group --uid 1000 app
|
||||||
COPY --from=build /install /usr/local
|
COPY --from=build /install /usr/local
|
||||||
COPY src/ ./src/
|
COPY src/ ./src/
|
||||||
COPY alembic.ini ./
|
|
||||||
COPY alembic/ ./alembic/
|
|
||||||
|
|
||||||
USER 1000
|
USER 1000
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
"""Make users.hashed_password nullable.
|
|
||||||
|
|
||||||
Better-Auth inserts users without hashed_password (passwords live in the
|
|
||||||
accounts table). This column is now purely optional.
|
|
||||||
|
|
||||||
Revision ID: 003_make_users_hashed_password_nullable
|
|
||||||
Revises: 002_better_auth_tables
|
|
||||||
Create Date: 2026-03-30
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
|
|
||||||
revision = "003_make_users_hashed_password_nullable"
|
|
||||||
down_revision = "002_better_auth_tables"
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade() -> None:
|
|
||||||
op.alter_column("users", "hashed_password", existing_type=sa.String(255), nullable=True)
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade() -> None:
|
|
||||||
op.alter_column("users", "hashed_password", existing_type=sa.String(255), nullable=False)
|
|
||||||
@@ -21,7 +21,7 @@ class User(UUIDPrimaryKeyMixin, TimestampMixin, Base):
|
|||||||
__tablename__ = "users"
|
__tablename__ = "users"
|
||||||
|
|
||||||
email: Mapped[str] = mapped_column(String(255), nullable=False, unique=True)
|
email: Mapped[str] = mapped_column(String(255), nullable=False, unique=True)
|
||||||
hashed_password: Mapped[str | None] = mapped_column(String(255), nullable=True)
|
hashed_password: Mapped[str] = mapped_column(String(255), nullable=False)
|
||||||
display_name: Mapped[str | None] = mapped_column(String(100))
|
display_name: Mapped[str | None] = mapped_column(String(100))
|
||||||
email_verified: Mapped[bool] = mapped_column(Boolean, nullable=False, server_default="false")
|
email_verified: Mapped[bool] = mapped_column(Boolean, nullable=False, server_default="false")
|
||||||
image: Mapped[str | None] = mapped_column(Text, nullable=True)
|
image: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||||
|
|||||||
@@ -3,10 +3,9 @@ FROM python:3.12-slim AS build
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# git is required to install cartsnitch-common from GitHub; build-essential and
|
# build-essential and libpq-dev are needed to compile any C-extension wheels
|
||||||
# libpq-dev are needed to compile any C-extension wheels (e.g. psycopg2 fallback)
|
# (e.g. psycopg2 fallback). git is no longer needed here.
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
git \
|
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
build-essential \
|
build-essential \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
@@ -14,13 +13,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
COPY pyproject.toml ./
|
COPY pyproject.toml ./
|
||||||
COPY src/ ./src/
|
COPY src/ ./src/
|
||||||
|
|
||||||
# cartsnitch-common is not on PyPI — install it directly from GitHub, then
|
# cartsnitch-common is not on PyPI — install it from the local monorepo common/
|
||||||
# install the rest of the package dependencies in a single resolver pass so
|
# directory. The common/ dir is the cartsnitch-common Python package.
|
||||||
# pip can satisfy the cartsnitch-common>=0.1.0 constraint declared in
|
COPY common/ /tmp/common/
|
||||||
# pyproject.toml without hitting PyPI for it.
|
RUN pip install --no-cache-dir --prefix=/install /tmp/common/ .
|
||||||
RUN pip install --no-cache-dir --prefix=/install \
|
|
||||||
"cartsnitch-common @ git+https://github.com/cartsnitch/common.git@76685ed0384103228cd670b477b967e7752ebe6b" \
|
|
||||||
.
|
|
||||||
|
|
||||||
# Stage 2: Production image with Playwright + Chromium
|
# Stage 2: Production image with Playwright + Chromium
|
||||||
FROM python:3.12-slim AS prod
|
FROM python:3.12-slim AS prod
|
||||||
|
|||||||
Reference in New Issue
Block a user