← スキル一覧に戻る

render
by mgd34msu
Plug in, Receive good vibes.
⭐ 2🍴 0📅 2026年1月25日
SKILL.md
name: render description: Deploys web applications on Render with automatic builds, managed databases, and zero-config SSL. Use when deploying web services, static sites, or setting up managed infrastructure.
Render
Cloud platform for deploying web services, static sites, and databases with automatic builds from Git.
Quick Start
- Connect GitHub/GitLab at render.com
- Create new Web Service
- Select repository
- Render auto-detects framework
- Deploy
Service Types
Web Service
Long-running HTTP servers:
# render.yaml
services:
- type: web
name: api
runtime: node
buildCommand: npm install && npm run build
startCommand: npm start
envVars:
- key: NODE_ENV
value: production
Static Site
Frontend applications:
services:
- type: web
name: frontend
runtime: static
buildCommand: npm install && npm run build
staticPublishPath: ./dist
Background Worker
Non-HTTP processes:
services:
- type: worker
name: worker
runtime: node
buildCommand: npm install && npm run build
startCommand: npm run worker
Cron Job
Scheduled tasks:
services:
- type: cron
name: daily-cleanup
runtime: node
buildCommand: npm install
startCommand: npm run cleanup
schedule: "0 0 * * *"
Configuration
render.yaml (Blueprint)
# render.yaml
services:
- type: web
name: my-app
runtime: node
region: oregon
# Build
buildCommand: npm ci && npm run build
startCommand: npm start
# Environment
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: mydb
property: connectionString
# Health check
healthCheckPath: /health
# Scaling
plan: starter
numInstances: 1
# Auto-deploy
autoDeploy: true
# Branch
branch: main
databases:
- name: mydb
plan: starter
databaseName: myapp
user: myuser
envVarGroups:
- name: shared-settings
envVars:
- key: LOG_LEVEL
value: info
Environment Variables
envVars:
# Static value
- key: API_KEY
value: my-secret-key
# Sync from group
- key: LOG_LEVEL
fromGroup: shared-settings
# From database
- key: DATABASE_URL
fromDatabase:
name: mydb
property: connectionString
# From service
- key: API_URL
fromService:
name: api
type: web
property: host
Node.js Deployment
package.json
{
"scripts": {
"build": "tsc",
"start": "node dist/index.js"
},
"engines": {
"node": "20"
}
}
Express/Fastify
const port = process.env.PORT || 10000;
app.listen(port, '0.0.0.0', () => {
console.log(`Server running on port ${port}`);
});
Next.js Deployment
Configuration
services:
- type: web
name: nextjs-app
runtime: node
buildCommand: npm ci && npm run build
startCommand: npm start
envVars:
- key: NODE_ENV
value: production
Render auto-detects Next.js and configures appropriately.
Static Site Deployment
React/Vite
services:
- type: web
name: react-app
runtime: static
buildCommand: npm ci && npm run build
staticPublishPath: ./dist
routes:
- type: rewrite
source: /*
destination: /index.html
Headers & Redirects
services:
- type: web
name: static-site
runtime: static
staticPublishPath: ./dist
headers:
- path: /*
name: X-Frame-Options
value: DENY
routes:
- type: redirect
source: /old-path
destination: /new-path
status: 301
Databases
PostgreSQL
databases:
- name: mydb
plan: starter # starter, standard, pro
databaseName: myapp
user: myuser
region: oregon
Redis
services:
- type: redis
name: cache
plan: starter
maxmemoryPolicy: allkeys-lru
Connection
envVars:
- key: DATABASE_URL
fromDatabase:
name: mydb
property: connectionString
- key: REDIS_URL
fromService:
name: cache
type: redis
property: connectionString
Scaling
Instance Types
| Plan | RAM | CPU |
|---|---|---|
| Free | 512 MB | Shared |
| Starter | 512 MB | 0.5 |
| Standard | 2 GB | 1 |
| Pro | 4 GB | 2 |
| Pro Plus | 8 GB | 4 |
Horizontal Scaling
services:
- type: web
name: api
plan: standard
numInstances: 3
Auto-Scaling (Team plans)
Configure in dashboard:
- Min/max instances
- CPU/memory thresholds
Custom Domains
- Add domain in service settings
- Configure DNS:
# A record
@ -> render IP
# CNAME for subdomain
www -> your-app.onrender.com
- SSL certificate auto-provisioned
Health Checks
services:
- type: web
healthCheckPath: /health
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok' });
});
Dockerfile Deployment
services:
- type: web
name: docker-app
runtime: docker
dockerfilePath: ./Dockerfile
dockerContext: .
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 10000
CMD ["node", "dist/index.js"]
Preview Environments
Enable in service settings:
- Pull Request Previews: On
- Each PR gets unique URL
- Auto-deleted on merge
Monorepo Support
Root Directory
services:
- type: web
name: api
rootDir: apps/api
buildCommand: npm ci && npm run build
startCommand: npm start
Multiple Services
services:
- type: web
name: web
rootDir: apps/web
buildCommand: npm ci && npm run build
staticPublishPath: ./dist
- type: web
name: api
rootDir: apps/api
buildCommand: npm ci && npm run build
startCommand: npm start
Persistent Disk
services:
- type: web
name: app
disk:
name: data
mountPath: /data
sizeGB: 10
Private Services
Internal services not exposed to internet:
services:
- type: pserv # Private service
name: internal-api
runtime: node
buildCommand: npm ci && npm run build
startCommand: npm start
Access via internal DNS: internal-api:10000
CLI (Render CLI)
# Install
npm install -g @render/cli
# Login
render login
# Deploy
render deploy
# Logs
render logs --service my-app
# SSH
render ssh my-app
See references/configuration.md for complete render.yaml options.
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です