Files
A-Team-Security-Infra-Agent…/docker-compose.yml
nogueiraguh f22bb54e25 feat: Oracle IAM OIDC, force password change, security hardening
- OIDC: authorization code flow, JWKS validation, JIT provisioning, group-to-role mapping, dual auth (local/oidc/both)
- Force password change: random admin password on first install, modal blocks UI until changed
- APP_SECRET required in docker-compose (fail if missing), .env.example improved
- Login page: Oracle IAM button (conditional), hide form in oidc-only mode
- OracleIamPage: test connection via backend, masked client_secret handling
- UsersPage: OIDC badge, auth_provider in list
- i18n: login.oidcButton, login.or (pt/en/es)
- README v3.1: Terminal, User Management, Security, OIDC endpoints, versioning
2026-04-02 10:26:00 -03:00

66 lines
1.4 KiB
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: oci-agent-backend
restart: unless-stopped
environment:
- APP_SECRET=${APP_SECRET:?Set APP_SECRET in .env (openssl rand -hex 64)}
- JWT_EXPIRY_HOURS=${JWT_EXPIRY_HOURS:-12}
- DATA_DIR=/data
- CORS_ORIGINS=${CORS_ORIGINS:-}
- TZ=${TZ:-America/Sao_Paulo}
- OCI_CLI_SUPPRESS_FILE_PERMISSIONS_WARNING=True
volumes:
- agent-data:/data
networks:
- agent-net
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
deploy:
resources:
limits:
memory: 4G
frontend:
image: nginx:alpine
container_name: oci-agent-frontend
restart: unless-stopped
environment:
- TZ=${TZ:-America/Sao_Paulo}
volumes:
- ./frontend-react/dist:/usr/share/nginx/html/app:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- "${PORT:-8080}:80"
depends_on:
- backend
networks:
- agent-net
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "3"
deploy:
resources:
limits:
memory: 512M
volumes:
agent-data:
driver: local
networks:
agent-net:
driver: bridge