chore(workspace): bootstrap platform, judge and frontend
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# Development-only values; copy to deploy/.env before make infra-up.
|
||||
POSTGRES_USER=kf_oj
|
||||
POSTGRES_PASSWORD=local-dev-only
|
||||
POSTGRES_DB=kf_oj
|
||||
POSTGRES_PORT=5432
|
||||
RABBITMQ_USER=kf_oj
|
||||
RABBITMQ_PASSWORD=local-dev-only
|
||||
RABBITMQ_VHOST=kf_oj
|
||||
RABBITMQ_PORT=5672
|
||||
RABBITMQ_MANAGEMENT_PORT=15672
|
||||
@@ -0,0 +1,21 @@
|
||||
# 本地开发依赖
|
||||
|
||||
`compose.dev.yml` 只提供 PostgreSQL 和 RabbitMQ,端口绑定 localhost。
|
||||
先复制 `.env.example` 为 `.env`,然后在仓库根目录运行:
|
||||
|
||||
```bash
|
||||
make infra-config
|
||||
make infra-up
|
||||
make infra-down
|
||||
```
|
||||
|
||||
`infra-down` 保留数据卷;不要把示例口令用于正式部署。
|
||||
API 存活检查和前端预览不依赖这些容器,可以先独立启动。
|
||||
该 Compose 不运行判题 Worker 或不可信代码。
|
||||
|
||||
镜像固定具体维护版本(PostgreSQL 18.6、RabbitMQ 4.3.6),正式实验前另锁镜像摘要。
|
||||
配置检查只验证 Compose 结构;成功启动、实际健康与备份恢复需要单独验证。
|
||||
后续受控主机服务和最小权限沙箱启动器配置放在本目录。
|
||||
|
||||
官方镜像说明:[PostgreSQL](https://hub.docker.com/_/postgres)、
|
||||
[RabbitMQ](https://hub.docker.com/_/rabbitmq)。
|
||||
@@ -0,0 +1,40 @@
|
||||
name: kf-oj-dev
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:18.6-bookworm
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER:?required}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?required}
|
||||
POSTGRES_DB: ${POSTGRES_DB:?required}
|
||||
ports:
|
||||
- "127.0.0.1:${POSTGRES_PORT:-5432}:5432"
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 20
|
||||
mem_limit: 1g
|
||||
cpus: 1
|
||||
rabbitmq:
|
||||
image: rabbitmq:4.3.6-management
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:?required}
|
||||
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:?required}
|
||||
RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_VHOST:?required}
|
||||
ports:
|
||||
- "127.0.0.1:${RABBITMQ_PORT:-5672}:5672"
|
||||
- "127.0.0.1:${RABBITMQ_MANAGEMENT_PORT:-15672}:15672"
|
||||
volumes:
|
||||
- rabbitmq-data:/var/lib/rabbitmq
|
||||
healthcheck:
|
||||
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
mem_limit: 768m
|
||||
cpus: 1
|
||||
volumes:
|
||||
postgres-data:
|
||||
rabbitmq-data:
|
||||
Reference in New Issue
Block a user