Compare commits
6 Commits
e24b62cd98
...
renovate/m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5a7a0527d | ||
|
|
6dbb67ba84 | ||
|
|
94abb7388b | ||
|
|
c1f940fa57 | ||
|
|
03e8fa18f3 | ||
|
|
a7861455d9 |
18
Dockerfile
18
Dockerfile
@@ -1,43 +1,31 @@
|
||||
# Stage 1: Build the Next.js frontend
|
||||
FROM docker.io/library/node:25-alpine AS frontend-builder
|
||||
FROM docker.io/library/node:25 AS frontend-builder
|
||||
LABEL authors="lucasoskorep"
|
||||
|
||||
WORKDIR /build/mta-sign-ui
|
||||
|
||||
# Enable corepack for pnpm
|
||||
RUN corepack enable && corepack prepare pnpm@10.28.1 --activate
|
||||
|
||||
# Copy package files first for better caching
|
||||
COPY mta-sign-ui/package.json mta-sign-ui/pnpm-lock.yaml* ./
|
||||
|
||||
# Install dependencies (use frozen-lockfile if lock exists, otherwise generate)
|
||||
RUN pnpm install
|
||||
RUN npm install -g pnpm
|
||||
|
||||
# Copy the rest of the frontend source
|
||||
COPY mta-sign-ui/ ./
|
||||
|
||||
# Build the static export (outputs to 'out' directory)
|
||||
RUN pnpm install
|
||||
RUN pnpm build
|
||||
|
||||
# Stage 2: Python backend with frontend static files
|
||||
FROM ghcr.io/astral-sh/uv:python3.13-bookworm
|
||||
LABEL authors="lucasoskorep"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy dependency files and install dependencies only (not the project itself)
|
||||
COPY pyproject.toml uv.lock README.md ./
|
||||
RUN uv sync --frozen --no-dev --no-install-project
|
||||
|
||||
# Copy source code
|
||||
COPY mta_api_client ./mta_api_client
|
||||
COPY mta_sign_server ./mta_sign_server
|
||||
COPY main.py stops.txt ./
|
||||
|
||||
# Copy the built frontend from the first stage
|
||||
COPY --from=frontend-builder /build/mta-sign-ui/out ./static
|
||||
|
||||
# Now install the project
|
||||
RUN uv sync --frozen --no-dev
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
4
justfile
4
justfile
@@ -65,9 +65,9 @@ build-ui:
|
||||
|
||||
# Build multi-arch container image
|
||||
containers:
|
||||
podman build --platform linux/arm64,linux/amd64 -f docker/Dockerfile --manifest chaos2theory/pi-mta-sign:test .
|
||||
podman build --platform linux/arm64,linux/amd64 -f Dockerfile --manifest chaos2theory/pi-mta-sign:test .
|
||||
podman manifest push --all chaos2theory/pi-mta-sign:test
|
||||
podman manifest rm chaos2theory/pi-mta-sign:test
|
||||
podman manifest rm chaos2theory/pi-mta-sign:testpod
|
||||
|
||||
# Build container image (local arch only)
|
||||
build-container:
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
24
|
||||
2
mta-sign-ui/next-env.d.ts
vendored
2
mta-sign-ui/next-env.d.ts
vendored
@@ -1,6 +1,6 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
import "./.next/dev/types/routes.d.ts";
|
||||
import "./.next/types/routes.d.ts";
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"postcss": "^8.5.1",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"tailwindcss": "^4.0.0"
|
||||
"tailwindcss": "^3.4.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/react": "^16.1.0",
|
||||
@@ -31,9 +31,9 @@
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"@vitejs/plugin-react": "^5.0.0",
|
||||
"chokidar-cli": "^3.0.0",
|
||||
"eslint": "^9.18.0",
|
||||
"eslint": "^10.0.0",
|
||||
"eslint-config-next": "^16.1.2",
|
||||
"jsdom": "^27.0.0",
|
||||
"jsdom": "^28.0.0",
|
||||
"typescript": "^5.7.3",
|
||||
"vitest": "^4.0.0"
|
||||
},
|
||||
|
||||
718
mta-sign-ui/pnpm-lock.yaml
generated
718
mta-sign-ui/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"packageRules": [
|
||||
{
|
||||
"matchPackageNames": ["tailwindcss"],
|
||||
"allowedVersions": "<4.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user