Skip to content

Commit 47e4748

Browse files
committed
✨ Добавлен файл .cursorignore для исключения определённых файлов из индексации. Обновлены зависимости в docker-compose.dev.yml, добавлены условия здоровья для сервисов MongoDB и Redis. Изменён способ создания пользователя в Dockerfile.dev для улучшения совместимости. Обновлён способ получения версии приложения в check.action.ts с использованием package.json.
1 parent 50dd05f commit 47e4748

4 files changed

Lines changed: 18 additions & 19 deletions

File tree

.cursorignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
!.devcontainer/devcontainer.env
2+
!.env

.devcontainer/Dockerfile.dev

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
1111
bash \
1212
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
1313

14-
RUN groupadd --gid 1000 devuser \
15-
&& useradd --uid 1000 --gid devuser --shell /bin/bash --create-home devuser
14+
RUN if ! getent group 1000 >/dev/null 2>&1; then groupadd --gid 1000 devuser; \
15+
elif [ "$(getent group 1000 | cut -d: -f1)" != "devuser" ]; then groupmod -n devuser $(getent group 1000 | cut -d: -f1); fi \
16+
&& if ! id -u 1000 >/dev/null 2>&1; then useradd --uid 1000 --gid 1000 --shell /bin/bash --create-home devuser; \
17+
elif [ "$(id -un 1000)" != "devuser" ]; then usermod -l devuser -d /home/devuser -m -s /bin/bash $(id -un 1000); fi
1618

1719
USER devuser
1820

.devcontainer/docker-compose.dev.yml

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ services:
1010
cap_add: [ "SYS_PTRACE" ]
1111
command: ["sleep", "infinity"]
1212
container_name: dickobrazz-server-dev
13-
depends_on: [ dickobrazz-mongo, dickobrazz-redis ]
13+
depends_on:
14+
dickobrazz-mongo:
15+
condition: service_healthy
16+
dickobrazz-redis:
17+
condition: service_healthy
1418
env_file: [ devcontainer.env ]
1519
networks: [ base ]
1620
ports: [ "3030:3030" ]
@@ -23,11 +27,6 @@ services:
2327
container_name: dickobrazz-mongo
2428
cpus: '0.5'
2529
env_file: [ devcontainer.env ]
26-
environment:
27-
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
28-
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
29-
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
30-
TZ: ${TZ}
3130
healthcheck:
3231
interval: 15s
3332
retries: 12
@@ -48,22 +47,18 @@ services:
4847
volumes:
4948
- dickobrazz-mongo-data:/data/db
5049
dickobrazz-redis:
51-
command: >
52-
redis-server --port 6379
53-
--loglevel warning
54-
--save 20 1
55-
--requirepass ${REDIS_PASSWORD}
50+
command:
51+
- sh
52+
- -c
53+
- 'exec redis-server --port 6379 --loglevel warning --save "20 1" --requirepass "$$REDIS_PASSWORD"'
5654
container_name: dickobrazz-redis
5755
cpus: '0.5'
5856
env_file: [ devcontainer.env ]
59-
environment:
60-
REDIS_PASSWORD: ${REDIS_PASSWORD}
61-
TZ: ${TZ}
6257
healthcheck:
6358
interval: 10s
6459
retries: 3
6560
start_period: 10s
66-
test: ["CMD", "sh", "-c", "redis-cli -a ${REDIS_PASSWORD} --no-auth-warning ping"]
61+
test: ["CMD-SHELL", "redis-cli -a $$REDIS_PASSWORD --no-auth-warning ping"]
6762
timeout: 5s
6863
image: redis:8.4-alpine
6964
logging:

src/features/health/check.action.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import mongoose from "mongoose";
33
import { di } from "@/shared/injection";
44
import { logger } from "@/shared/lib/logger";
55
import { createTicker } from "@/shared/lib/profiling";
6+
import packageJson from "../../../package.json";
67
import type { HealthResponse, HealthStatus } from "./types";
78

89
const startTime = Date.now();
@@ -56,8 +57,7 @@ export const createCheckAction = (redis: RedisClient) => async (): Promise<Healt
5657

5758
const [mongoStatus, redisStatus] = await Promise.all([checkMongo(), checkRedis(redis)]);
5859

59-
const versionFile = Bun.file(".version");
60-
const version = (await versionFile.text()).trim();
60+
const version = packageJson.version;
6161
const uptimeSec = Math.floor((Date.now() - startTime) / 1000);
6262
const overallStatus: HealthStatus = mongoStatus === "ok" && redisStatus === "ok" ? "ok" : mongoStatus === "down" || redisStatus === "down" ? "down" : "degraded";
6363

0 commit comments

Comments
 (0)