Refactor dockerfile update compose example

This commit is contained in:
Mike Conrad
2025-05-21 16:35:00 -04:00
parent 3c44fcc062
commit f5aceea6fa
4 changed files with 16 additions and 11 deletions

View File

@ -1,4 +1,4 @@
FROM node:20.12.2-alpine3.18 AS base
FROM node:22-alpine AS base
# All deps stage
FROM base AS deps
@ -6,11 +6,10 @@ WORKDIR /app
ADD package.json package-lock.json ./
RUN npm ci
FROM node:22 AS dev-deps
FROM deps AS develop
WORKDIR /app
ADD package.json package-lock.json ./
COPY --from=deps /app/node_modules /app/node_modules
ENV NODE_ENV=development
RUN npm ci
EXPOSE 3333
# Production only deps stage

View File

@ -37,6 +37,7 @@ export default class Replay extends BaseModel {
replays
WHERE
finished_at >= NOW() - INTERVAL '30 days'
AND "user" ->> 'display_name' LIKE '%@%'
GROUP BY
"user" ->> 'display_name'
) u
@ -55,10 +56,9 @@ export default class Replay extends BaseModel {
ORDER BY
u.total_time_seconds DESC;`
)
const updatedVersion = await redis.incr('replay:stats:latest_version')
const updatedVersion = await redis.incr('replays:stats:latest_version')
results.version = updatedVersion
results.updatedAt = Date.now()
await redis.set(`replays:stats:latest_version`, updatedVersion)
await redis.set(`replays:stats:version:${updatedVersion}:results`, JSON.stringify(results))
return results
}

View File

@ -1,16 +1,14 @@
---
name: sentry
services:
scraper:
build:
context: .
target: dev-deps
target: develop
env_file: .env.develop
volumes:
- ./:/app
- node_modules:/app/node_modules
command: /bin/bash -c "echo 'hello' && node ace migration:run --force && node ace serve --watch"
command: /bin/sh -c "node ace migration:run --force && node ace serve --watch"
depends_on:
db:
condition: service_healthy

View File

@ -23,6 +23,9 @@ services:
- traefik
- redis
- database
depends_on:
db:
condition: service_healthy
db:
image: postgres:16
environment:
@ -46,10 +49,15 @@ services:
- "traefik.http.routers.grafana.entrypoints=http"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- "traefik.http.routers.grafana.service=grafana"
networks:
- traefik
- database
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1"]
interval: 10s
timeout: 30s
retries: 5
start_period: 30s
redis:
image: redis:latest
networks: