checkpoint: cleaned disk and pruned Docker cache
This commit is contained in:
parent
dfd02bbaab
commit
116fadc6bd
@ -18,3 +18,7 @@ REACT_APP_ENV=production
|
|||||||
REACT_APP_OPENAI_API_KEY=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
|
REACT_APP_OPENAI_API_KEY=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
|
||||||
OPENAI_API_KEY=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
|
OPENAI_API_KEY=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
|
||||||
GCP_CLOUD_SQL_PASSWORD=q2O}1PU-R:|l57S0
|
GCP_CLOUD_SQL_PASSWORD=q2O}1PU-R:|l57S0
|
||||||
|
|
||||||
|
TWILIO_ACCOUNT_SID=ACd700c6fb9f691ccd9ccab73f2dd4173d
|
||||||
|
TWILIO_AUTH_TOKEN=fb8979ccb172032a249014c9c30eba80
|
||||||
|
TWILIO_MESSAGING_SERVICE_SID=MGMGaa07992a9231c841b1bfb879649026d6
|
@ -1,13 +1,18 @@
|
|||||||
ARG APPPORT=5002
|
ARG APPPORT=5002
|
||||||
FROM --platform=$TARGETPLATFORM node:20-slim
|
FROM --platform=$TARGETPLATFORM node:20-slim
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN apt-get update -y && \
|
|
||||||
apt-get install -y --no-install-recommends python3 git && \
|
RUN apt-get update -y \
|
||||||
rm -rf /var/lib/apt/lists/*
|
&& apt-get install -y --no-install-recommends python3 git \
|
||||||
COPY package*.json ./
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN npm ci --omit=dev --ignore-scripts
|
RUN npm ci --omit=dev --ignore-scripts
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
ENV PORT=5002
|
ENV PORT=5002
|
||||||
EXPOSE 5002
|
EXPOSE 5002
|
||||||
CMD ["node","backend/server3.js"]
|
CMD ["node", "backend/server3.js"]
|
@ -1,5 +1,5 @@
|
|||||||
// ─── server3.js ────────────────────────────────────────────────────────────
|
// ─── server3.js ────────────────────────────────────────────────────────────
|
||||||
import './config/env.js';
|
import dotenv from 'dotenv';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { fileURLToPath } from 'url';
|
import { fileURLToPath } from 'url';
|
||||||
|
|
||||||
@ -23,6 +23,10 @@ import Fuse from 'fuse.js';
|
|||||||
import { createReminder } from './utils/smsService.js';
|
import { createReminder } from './utils/smsService.js';
|
||||||
import { cacheSummary } from "./utils/ctxCache.js";
|
import { cacheSummary } from "./utils/ctxCache.js";
|
||||||
|
|
||||||
|
const rootPath = path.resolve(__dirname, '..'); // one level up
|
||||||
|
const env = (process.env.NODE_ENV || 'production'); // production in prod
|
||||||
|
const envPath = path.resolve(rootPath, `.env.${env}`); // => /app/.env.production
|
||||||
|
dotenv.config({ path: envPath });
|
||||||
const apiBase = process.env.APTIVA_API_BASE || "http://localhost:5002/api";
|
const apiBase = process.env.APTIVA_API_BASE || "http://localhost:5002/api";
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
@ -52,7 +56,9 @@ app.use(cors({ origin: allowedOrigins, credentials: true }));
|
|||||||
|
|
||||||
// 3) Authentication middleware
|
// 3) Authentication middleware
|
||||||
const authenticatePremiumUser = (req, res, next) => {
|
const authenticatePremiumUser = (req, res, next) => {
|
||||||
const token = req.headers.authorization?.split(' ')[1];
|
const token = (req.headers.authorization || '')
|
||||||
|
.replace(/^Bearer\s+/i, '') // drop “Bearer ”
|
||||||
|
.trim(); // strip CR/LF, spaces
|
||||||
if (!token) {
|
if (!token) {
|
||||||
return res.status(401).json({ error: 'Premium authorization required' });
|
return res.status(401).json({ error: 'Premium authorization required' });
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,9 @@ services:
|
|||||||
env_file: [ ./env/prod.env ]
|
env_file: [ ./env/prod.env ]
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
|
- TWILIO_ACCOUNT_SID=ACd700c6fb9f691ccd9ccab73f2dd4173d
|
||||||
|
- TWILIO_AUTH_TOKEN=fb8979ccb172032a249014c9c30eba80
|
||||||
|
- TWILIO_MESSAGING_SERVICE_SID=MGMGaa07992a9231c841b1bfb879649026d6
|
||||||
volumes:
|
volumes:
|
||||||
- /home/jcoakley/aptiva-dev1-app/public:/home/jcoakley/aptiva-dev1-app/public:ro
|
- /home/jcoakley/aptiva-dev1-app/public:/home/jcoakley/aptiva-dev1-app/public:ro
|
||||||
- /home/jcoakley/aptiva-dev1-app/user_profile.db:/home/jcoakley/aptiva-dev1-app/user_profile.db:ro
|
- /home/jcoakley/aptiva-dev1-app/user_profile.db:/home/jcoakley/aptiva-dev1-app/user_profile.db:ro
|
@ -23,6 +23,12 @@ services:
|
|||||||
image: us-central1-docker.pkg.dev/aptivaai-dev/aptiva-repo/server3:prod-20250710
|
image: us-central1-docker.pkg.dev/aptivaai-dev/aptiva-repo/server3:prod-20250710
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
expose: ["5002"]
|
expose: ["5002"]
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
JWT_SECRET: gW4QsOu4AJA4MooIUC9ld2i71VbBovzV1INsaU6ftxYPrxLIeMq6/OY61j0X2RV7
|
||||||
|
TWILIO_ACCOUNT_SID: ACd700c6fb9f691ccd9ccab73f2dd4173d
|
||||||
|
TWILIO_AUTH_TOKEN: fb8979ccb172032a249014c9c30eba80
|
||||||
|
TWILIO_MESSAGING_SERVICE_SID: MGMGaa07992a9231c841b1bfb879649026d6
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "curl -f http://localhost:5002/healthz || exit 1"]
|
test: ["CMD-SHELL", "curl -f http://localhost:5002/healthz || exit 1"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
|
Loading…
Reference in New Issue
Block a user