Refactor dockerfile update compose example
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
FROM node:20.12.2-alpine3.18 AS base
|
FROM node:22-alpine AS base
|
||||||
|
|
||||||
# All deps stage
|
# All deps stage
|
||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
@ -6,11 +6,10 @@ WORKDIR /app
|
|||||||
ADD package.json package-lock.json ./
|
ADD package.json package-lock.json ./
|
||||||
RUN npm ci
|
RUN npm ci
|
||||||
|
|
||||||
FROM node:22 AS dev-deps
|
FROM deps AS develop
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ADD package.json package-lock.json ./
|
COPY --from=deps /app/node_modules /app/node_modules
|
||||||
ENV NODE_ENV=development
|
ENV NODE_ENV=development
|
||||||
RUN npm ci
|
|
||||||
EXPOSE 3333
|
EXPOSE 3333
|
||||||
|
|
||||||
# Production only deps stage
|
# Production only deps stage
|
||||||
|
@ -37,6 +37,7 @@ export default class Replay extends BaseModel {
|
|||||||
replays
|
replays
|
||||||
WHERE
|
WHERE
|
||||||
finished_at >= NOW() - INTERVAL '30 days'
|
finished_at >= NOW() - INTERVAL '30 days'
|
||||||
|
AND "user" ->> 'display_name' LIKE '%@%'
|
||||||
GROUP BY
|
GROUP BY
|
||||||
"user" ->> 'display_name'
|
"user" ->> 'display_name'
|
||||||
) u
|
) u
|
||||||
@ -55,10 +56,9 @@ export default class Replay extends BaseModel {
|
|||||||
ORDER BY
|
ORDER BY
|
||||||
u.total_time_seconds DESC;`
|
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.version = updatedVersion
|
||||||
results.updatedAt = Date.now()
|
results.updatedAt = Date.now()
|
||||||
await redis.set(`replays:stats:latest_version`, updatedVersion)
|
|
||||||
await redis.set(`replays:stats:version:${updatedVersion}:results`, JSON.stringify(results))
|
await redis.set(`replays:stats:version:${updatedVersion}:results`, JSON.stringify(results))
|
||||||
return results
|
return results
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
---
|
---
|
||||||
name: sentry
|
|
||||||
services:
|
services:
|
||||||
scraper:
|
scraper:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
target: dev-deps
|
target: develop
|
||||||
env_file: .env.develop
|
env_file: .env.develop
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/app
|
- ./:/app
|
||||||
- node_modules:/app/node_modules
|
- 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:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
@ -23,6 +23,9 @@ services:
|
|||||||
- traefik
|
- traefik
|
||||||
- redis
|
- redis
|
||||||
- database
|
- database
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
db:
|
db:
|
||||||
image: postgres:16
|
image: postgres:16
|
||||||
environment:
|
environment:
|
||||||
@ -46,10 +49,15 @@ services:
|
|||||||
- "traefik.http.routers.grafana.entrypoints=http"
|
- "traefik.http.routers.grafana.entrypoints=http"
|
||||||
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
||||||
- "traefik.http.routers.grafana.service=grafana"
|
- "traefik.http.routers.grafana.service=grafana"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
- database
|
- 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:
|
redis:
|
||||||
image: redis:latest
|
image: redis:latest
|
||||||
networks:
|
networks:
|
Reference in New Issue
Block a user