mcpField
D
deploy-to-temps

deploy-to-temps

github.com/gotempshCloud & DevOps87660 installsUpdated today
Repository

About deploy-to-temps

A skill that explains deploying applications to Temps, with framework detection, build configuration, and CLI and Git-based deployment workflows. It also covers environment variables, rollbacks, and deployment troubleshooting.

Key features

  1. 01Framework detection and build commands
  2. 02CLI and Git-based deployment guidance
  3. 03Dockerfile generation examples
  4. 04Environment and resource configuration
  5. 05Rollback and troubleshooting guidance

Use cases

  1. 01Deploying a supported app to Temps
  2. 02Setting up deployments triggered by Git pushes
  3. 03Rolling back or diagnosing a deployment

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gotempsh/temps --skill deploy-to-temps

After installing, type/deploy-to-tempsin Claude Code to confirm it loaded.

Details

From the project README

Deploy to Temps

Deploy applications to Temps with automatic framework detection and optimized builds.

Supported Frameworks

FrameworkDetectionBuild Command
Next.jsnext.config.*next build
Vitevite.config.*vite build
Create React Appreact-scripts in package.jsonreact-scripts build
Remixremix.config.*remix build
Express/Node.jsexpress in dependenciesnpm run build (if exists)
NestJS@nestjs/core in dependenciesnest build
Python/Flaskrequirements.txt + app.py-
Python/Djangomanage.pypython manage.py collectstatic
Gogo.modgo build
RustCargo.tomlcargo build --release

Quick Deploy

Via Git Integration
  1. Connect your Git provider in Temps dashboard
  2. Select repository and branch
  3. Temps auto-detects framework and deploys
Via CLI
# Install Temps CLI
npm install -g @temps-sdk/cli

# Login
temps login

# Deploy current directory
temps deploy

# Deploy with specific settings
temps deploy --project my-app --branch main

Dockerfile Generation

Temps auto-generates optimized Dockerfiles. For custom needs:

Next.js (Standalone)
FROM node:20-alpine AS base

FROM base AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci

FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build

FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs

COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static

USER nextjs
EXPOSE 3000
ENV PORT=3000
CMD ["node", "server.js"]
Node.js (Express/Fastify)
FROM node:20-alpine
WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

ENV NODE_ENV=production
USER node
EXPOSE 3000
CMD ["node", "dist/index.js"]
Python (Flask/FastAPI)
FROM python:3.11-slim
WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

ENV PYTHONUNBUFFERED=1
EXPOSE 8000
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:8000", "app:app"]
Go
FROM golang:1.21-alpine AS builder
WORKDIR /app

COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o main .

FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/

COPY --from=builder /app/main .
EXPOSE 8080
CMD ["./main"]

Environment Variables

Configure in Temps dashboard or via CLI:

# Set environment variable
temps env set DATABASE_URL="postgres://..."

# Set from .env file
temps env import .env

# List variables
temps env list

Build Configuration

Create temps.json in project root:

{
  "name": "my-app",
  "framework": "nextjs",
  "buildCommand": "npm run build",
  "installCommand": "npm ci",
  "outputDirectory": ".next",
  "nodeVersion": "20",
  "env": {
    "NODE_ENV": "production"
  }
}

Git-based Deployments

Auto-deploy on Push
  1. In Temps dashboard, enable "Auto-deploy"
  2. Select branches to auto-deploy
  3. Each push triggers a new deployment
Preview Deployments

Enable "Preview deployments" to create unique URLs for each PR.

Deploy Hooks

Create webhooks for custom CI/CD:

curl -X POST https://your-temps.com/api/projects/123/deploy \
  -H "Authorization: Bearer $TEMPS_DEPLOY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"branch": "main", "commit": "abc123"}'

Rollbacks

# List deployments
temps deployments list

# Rollback to specific deployment
temps rollback --deployment-id 456

# Rollback to previous
temps rollback --previous

Health Checks

Configure health checks in temps.json:

{
  "healthCheck": {
    "path": "/api/health",
    "interval": 30,
    "timeout": 10,
    "unhealthyThreshold": 3
  }
}

Resource Configuration

{
  "resources": {
    "cpu": "0.5",
    "memory": "512Mi",
    "replicas": {
      "min": 1,
      "max": 5
    }
  }
}

Troubleshooting

Build fails?

  • Check build logs in dashboard
  • Verify buildCommand is correct
  • Ensure all dependencies are in package.json

Container won't start?

  • Check PORT environment variable is used
  • Verify health check endpoint works
  • Review container logs

Deployment stuck?

  • Check resource limits aren't exceeded
  • Verify Docker image builds locally
  • Review deployment logs

Comments

Markdown supported