db0935eb16
Build & Push Docker Images / test-backend (push) Failing after 36s
Build & Push Docker Images / test-frontend (push) Successful in 29s
Build & Push Docker Images / build-backend (push) Has been skipped
Build & Push Docker Images / build-frontend (push) Has been skipped
Build & Push Docker Images / deploy (push) Successful in 7s
This commit introduces comprehensive observability for both backend and frontend, alongside a major UI/UX overhaul to align with modern design standards (Material 3 inspired) and improve localization. Backend changes: - Integrated OpenTelemetry SDK for distributed tracing. - Added Pino for structured JSON logging with OTel instrumentation for trace/span correlation. - Configured OTLP exporters to route traces and logs to Grafana Alloy. - Updated docker-compose to include necessary environment variables for observability. Frontend changes: - Integrated Grafana Faro for Real User Monitoring (RUM), capturing Web Vitals, JS errors, and user interactions. - Redesigned the entire UI using a new color palette and Material 3 design principles. - Refactored component architecture (App, Home, Search, Scanner, Profile, Alerts views) for better state management and navigation. - Improved mobile UX with a redesigned Bottom Navigation bar and Top Bar. - Localized the interface to Spanish (es). - Updated assets, icons, and PWA configuration (manifest, icons). - Refactored CSS to use a centralized design token system (CSS variables). Observability enables better debugging and performance monitoring across the entire stack.
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
services:
|
|
redis:
|
|
image: redis:alpine
|
|
restart: unless-stopped
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: farmafinder
|
|
POSTGRES_USER: farmafinder
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD:-change-me-in-production}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
backend:
|
|
image: git.hacecalor.net/ichitux/farmafinder-backend:latest
|
|
build:
|
|
context: .
|
|
dockerfile: backend/Dockerfile
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
PORT: "3001"
|
|
NODE_ENV: production
|
|
SESSION_SECRET: ${SESSION_SECRET:-change-me-in-production}
|
|
CORS_ORIGIN: http://localhost:3000
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: "6379"
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
|
DATABASE_PATH: /app/data/database.sqlite
|
|
FARMACIAS_WEBHOOK_URL: ${FARMACIAS_WEBHOOK_URL:-}
|
|
PG_URL: postgresql://farmafinder:${PG_PASSWORD:-change-me-in-production}@postgres:5432/farmafinder
|
|
# OpenTelemetry — exported via OTLP gRPC to the shared Alloy collector
|
|
OTEL_SERVICE_NAME: farmafinder-backend
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://host.docker.internal:4317
|
|
OTEL_TRACES_EXPORTER: otlp
|
|
OTEL_LOGS_EXPORTER: otlp
|
|
OTEL_RESOURCE_ATTRIBUTES: service.namespace=farmafinder
|
|
volumes:
|
|
- backend_data:/app/data
|
|
depends_on:
|
|
- redis
|
|
- postgres
|
|
|
|
frontend:
|
|
image: git.hacecalor.net/ichitux/farmafinder-frontend:latest
|
|
build:
|
|
context: ./frontend
|
|
args:
|
|
VITE_FARO_ENDPOINT: ${VITE_FARO_ENDPOINT:-http://localhost:4318}
|
|
VITE_FARO_APP_NAME: ${VITE_FARO_APP_NAME:-farmafinder-frontend}
|
|
VITE_FARO_ENV: ${VITE_FARO_ENV:-production}
|
|
VITE_FARO_APP_VERSION: ${VITE_FARO_APP_VERSION:-1.0.0}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:80"
|
|
depends_on:
|
|
- backend
|
|
|
|
volumes:
|
|
backend_data:
|
|
postgres_data:
|