TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1# Développement local / exécution sur la machine du propriétaire. PostgreSQL n'est PAS exposé hors de la machine (bind 127.0.0.1).2# Production MacLustr : PostgreSQL 17 Homebrew sur M3U96b (localhost, scram-sha-256), app via PM2 — voir README.3services:4 postgres:5 image: postgres:17-alpine6 environment:7 POSTGRES_DB: toveli8 POSTGRES_USER: toveli_app9 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-toveli_dev}10 ports: ["127.0.0.1:5432:5432"]11 volumes: ["pgdata:/var/lib/postgresql/data"]12 healthcheck: { test: ["CMD-SHELL", "pg_isready -U toveli_app -d toveli"], interval: 5s, timeout: 3s, retries: 20 }13 app:14 build: .15 depends_on: { postgres: { condition: service_healthy } }16 env_file: [.env.local]17 environment:18 DATABASE_URL: postgresql://toveli_app:${POSTGRES_PASSWORD:-toveli_dev}@postgres:5432/toveli19 STORAGE_DIR: /app/data/media20 TOVELI_DB: /app/data/toveli.db21 PORT: "3000"22 ports: ["127.0.0.1:3000:3000"]23 volumes: ["./data:/app/data"]24 command: sh -c "pnpm db:migrate && pnpm start"25 worker:26 build: .27 depends_on: { postgres: { condition: service_healthy } }28 env_file: [.env.local]29 environment:30 DATABASE_URL: postgresql://toveli_app:${POSTGRES_PASSWORD:-toveli_dev}@postgres:5432/toveli31 STORAGE_DIR: /app/data/media32 TOVELI_DB: /app/data/toveli.db33 volumes: ["./data:/app/data"]34 command: sh -c "while true; do pnpm tsx scripts/jobs.ts; sleep 3600; done"35volumes: { pgdata: {} }36