services: uniare-api: build: ./api container_name: uniare-api restart: unless-stopped ports: - "${API_PORT:-3000}:3000" environment: - PORT=3000 - JWT_SECRET=${JWT_SECRET} - JWT_EXPIRES=${JWT_EXPIRES:-7d} - APP_BASE_URL=${APP_BASE_URL} - RESEND_API_KEY=${RESEND_API_KEY} - RESEND_FROM_EMAIL=${RESEND_FROM_EMAIL} - ADMIN_EMAIL=${ADMIN_EMAIL} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - ADMIN_USERNAME=${ADMIN_USERNAME:-admin} - CORS_ORIGINS=${CORS_ORIGINS:-*} - PREVIEWS_PATH=/data/previews - AVATARS_PATH=/data/avatars - DB_PATH=/data/uadeck.db - DATAS_PATH=/datas volumes: - uniare-data:/data - ./datas:/datas:ro - ./api/data/previews:/data/previews - ./api/data/avatars:/data/avatars healthcheck: test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:3000/api/v1/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] interval: 30s timeout: 10s retries: 3 start_period: 15s volumes: uniare-data: