Skip to content
Back to skills

Julien Infra Jokers

BSecurity

Complete management for Jokers Hockey website - deployment, build checks, database migrations (Drizzle ORM), and PM2 process management. Use for any Jokers site operation.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 9, 2026
developmentjavascripttypescriptjavabashsqlnodedockergitdatabasesecurity

Works with

  • cli

Security analysis

B85/100
  • mediumUses curl or wget to download content
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill julien-infra-jokers --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Julien Infra Jokers?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Julien Infra Jokers
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-julien-infra-jokers/badge)](https://www.skillsdirectory.com/skills/majiayu000-julien-infra-jokers)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: julien-infra-jokers
description: Complete management for Jokers Hockey website - deployment, build checks, database migrations (Drizzle ORM), and PM2 process management. Use for any Jokers site operation.
license: Apache-2.0
triggers:
  - deploy jokers
  - jokers hockey
  - push to production
  - check jokers logs
  - restart jokers
  - jokers database
  - jokers build
  - jokers pm2
---

# Jokers Hockey - Infrastructure Management

Complete infrastructure management for the Jokers Hockey website.

## Quick Reference

| Component | Details |
|-----------|---------|
| **Server** | srv759970.hstgr.cloud (69.62.108.82) |
| **User** | automation |
| **Path** | /var/www/jokers |
| **PM2 Process** | jokers-hockey |
| **Port** | 5020 |
| **URL** | https://jokers.srv759970.hstgr.cloud |
| **Database** | PostgreSQL (localhost:5432/jokers_prod) |
| **ORM** | Drizzle |

---

## 1. Deployment

### Quick Deploy (Git)

```bash
ssh automation@69.62.108.82
cd /var/www/jokers
git pull origin main
npm install
npm run db:push
npm run build
pm2 restart jokers-hockey
```

### Pre-Deployment Checks

```bash
# Local: verify build works
npm run check
npm run build
ls -la dist/
```

### Verify Deployment

```bash
pm2 status jokers-hockey
pm2 logs jokers-hockey --lines 50
curl -I https://jokers.srv759970.hstgr.cloud
```

### Rollback

```bash
git log --oneline -5
git checkout <previous-commit>
npm install && npm run build
pm2 restart jokers-hockey
```

---

## 2. Build Verification

### Full Build Check

```bash
# TypeScript compilation
npm run check

# Clean build
rm -rf dist/ && npm run build

# Verify output
ls -la dist/
ls -la dist/public/assets/
```

### Expected Structure

```
dist/
├── index.js        (server ~5KB)
└── public/
    ├── index.html
    └── assets/
        ├── index-[hash].css  (~70KB)
        └── index-[hash].js   (~350KB)
```

### Quality Checks

```bash
# No debug code
grep -r "console.log\|debugger" client/src/ || echo "Clean"

# Security audit
npm audit --production

# Bundle sizes (should be < 500KB JS, < 100KB CSS)
du -sh dist/public/assets/*.js
du -sh dist/public/assets/*.css
```

---

## 3. Database (Drizzle ORM)

### Schema Location

- **Schema**: `shared/schema.ts`
- **Config**: `drizzle.config.ts`

### Push Schema Changes

```bash
# Development (direct apply)
npm run db:push

# Production
ssh automation@69.62.108.82
cd /var/www/jokers
git pull origin main
npm run db:push
pm2 restart jokers-hockey
```

### Schema Example

```typescript
import { pgTable, serial, text, timestamp } from "drizzle-orm/pg-core";

export const news = pgTable("news", {
  id: serial("id").primaryKey(),
  title: text("title").notNull(),
  content: text("content").notNull(),
  publishedAt: timestamp("published_at").defaultNow(),
});
```

### Backup Before Changes

```bash
docker exec postgresql-shared pg_dump -U postgres jokers_prod > backup_$(date +%Y%m%d).sql
```

### Verify Database

```bash
ssh automation@69.62.108.82
docker exec -it postgresql-shared psql -U postgres -d jokers_prod
\dt  # list tables
\d table_name  # describe table
\q
```

---

## 4. PM2 Management

### Status & Monitoring

```bash
ssh automation@69.62.108.82
pm2 status jokers-hockey
pm2 show jokers-hockey
pm2 monit  # live dashboard
```

### Logs

```bash
pm2 logs jokers-hockey --lines 100
pm2 logs jokers-hockey --err  # errors only
pm2 flush jokers-hockey  # clear logs
```

### Process Control

```bash
pm2 restart jokers-hockey
pm2 stop jokers-hockey
pm2 start jokers-hockey
pm2 reload jokers-hockey  # zero-downtime
```

### PM2 Config

File: `/var/www/jokers/ecosystem.config.cjs`

```javascript
module.exports = {
  apps: [{
    name: 'jokers-hockey',
    script: './dist/index.js',
    instances: 1,
    env: { NODE_ENV: 'production', PORT: 5020 },
    max_memory_restart: '500M',
  }]
}
```

### Save Configuration

```bash
pm2 save  # after any changes
```

---

## 5. Troubleshooting

### Site Down

```bash
pm2 status jokers-hockey
pm2 logs jokers-hockey --lines 100
pm2 restart jokers-hockey
curl -I https://jokers.srv759970.hstgr.cloud
```

### Build Fails

```bash
npm run check  # TypeScript errors
rm -rf node_modules/.vite && npm install
npm run build
```

### Database Connection

```bash
echo $DATABASE_URL
docker exec postgresql-shared psql -U postgres -d jokers_prod -c "SELECT version();"
```

### Port Conflict

```bash
netstat -tulpn | grep :5020
```

### 502 Bad Gateway

```bash
pm2 restart jokers-hockey
sudo nginx -t
sudo tail -f /var/log/nginx/jokers_ssl_error.log
```

---

## 6. Health Check Script

```bash
#!/bin/bash
echo "=== Jokers Health Check ==="
pm2 status jokers-hockey | grep online && echo "PM2: OK"
curl -sI https://jokers.srv759970.hstgr.cloud | grep "200\|301" && echo "HTTP: OK"
netstat -tulpn | grep :5020 && echo "Port: OK"
docker exec postgresql-shared psql -U postgres -d jokers_prod -c "SELECT 1;" && echo "DB: OK"
```

---

## Security Notes

- Never commit .env files
- DATABASE_URL stored server-side only
- SSL auto-renews via Let's Encrypt
- Always test locally before deploying

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.