2026-09-10 19:05:54 +04:00
|
|
|
services:
|
2026-09-10 19:14:21 +04:00
|
|
|
app:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
target: runtime
|
|
|
|
|
environment:
|
|
|
|
|
API_URL: ${API_URL:-https://api.vacationplanner.ru}
|
|
|
|
|
UPSTREAM_TIMEOUT_SECONDS: ${UPSTREAM_TIMEOUT_SECONDS:-15}
|
|
|
|
|
ports:
|
|
|
|
|
- "127.0.0.1:8080:8080"
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
read_only: true
|
|
|
|
|
cap_drop: [ALL]
|
|
|
|
|
security_opt: [no-new-privileges:true]
|
|
|
|
|
stop_grace_period: 65s
|
|
|
|
|
|
2026-09-10 19:05:54 +04:00
|
|
|
dev:
|
2026-09-10 19:14:21 +04:00
|
|
|
profiles: [dev]
|
2026-09-10 19:05:54 +04:00
|
|
|
image: rust:1.98.1-bookworm
|
|
|
|
|
working_dir: /workspace
|
|
|
|
|
command: sleep infinity
|
|
|
|
|
init: true
|
|
|
|
|
volumes:
|
|
|
|
|
- .:/workspace
|
|
|
|
|
- cargo-registry:/usr/local/cargo/registry
|
|
|
|
|
- cargo-target:/workspace/target
|
|
|
|
|
ports:
|
|
|
|
|
- "127.0.0.1:8080:8080"
|
|
|
|
|
|
2026-09-10 19:14:21 +04:00
|
|
|
test:
|
|
|
|
|
profiles: [test]
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
target: test
|
|
|
|
|
network_mode: none
|
|
|
|
|
read_only: true
|
|
|
|
|
cap_drop: [ALL]
|
|
|
|
|
security_opt: [no-new-privileges:true]
|
|
|
|
|
|
2026-09-10 19:05:54 +04:00
|
|
|
volumes:
|
|
|
|
|
cargo-registry:
|
|
|
|
|
cargo-target:
|