Web infrastructure for Hostinger VPS - Nginx reverse proxy, SSL/Let's Encrypt, configuration audit, and application deployment (INCLUZ'HACT). Use for site configuration, SSL setup, 502/504 errors, or deployments.
Manages Hostinger VPS web infrastructure with Nginx, SSL certificates, and application deployments.
/plugin marketplace add theflysurfer/claude-skills-marketplace/plugin install theflysurfer-claude-skills-marketplace@theflysurfer/claude-skills-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Nginx, SSL, and deployment management for srv759970.hstgr.cloud.
| Property | Value |
|---|---|
| Host | automation@69.62.108.82 |
| Nginx config | /etc/nginx/sites-available/ |
| Sites enabled | /etc/nginx/sites-enabled/ |
| Logs | /var/log/nginx/ |
ssh srv759970
sudo nano /etc/nginx/sites-available/mysite
Template (CRITICAL: include IPv6):
server {
listen 80;
listen [::]:80; # IPv6 REQUIRED
server_name mysite.srv759970.hstgr.cloud;
location / {
proxy_pass http://localhost:PORT;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo nginx -t
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
sudo systemctl reload nginx
sudo certbot --nginx -d mysite.srv759970.hstgr.cloud
sudo certbot certificates # Check status
sudo certbot renew --dry-run # Test renewal
sudo nginx -t # Test config
sudo systemctl reload nginx # Reload (preferred)
sudo tail -f /var/log/nginx/error.log # View errors
ls /etc/nginx/sites-enabled/ # List sites
# Check backend
docker ps | grep service-name
curl localhost:PORT
docker restart container-name
docker logs container-name --tail 50
Add to nginx config:
proxy_read_timeout 300;
proxy_connect_timeout 300;
Cause: Missing IPv6 listeners
Fix:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2; # ADD THIS
# ...
}
sudo nginx -t && sudo systemctl reload nginx
curl -6 https://mysite.srv759970.hstgr.cloud # Test IPv6
ssh srv759970 << 'EOF'
for site in /etc/nginx/sites-enabled/*; do
if ! grep -q "listen \[::\]:443" "$site" 2>/dev/null; then
echo "MISSING IPv6: $(basename $site)"
fi
done
EOF
curl -sI https://site.srv759970.hstgr.cloud | grep -iE "x-frame|x-content|strict-transport"
| Env | Branch | URL | Port | PM2 |
|---|---|---|---|---|
| Production | main | https://incluzhact.fr | 5173 | incluzhact |
| Preview | staging | https://preview.incluzhact.fr | 5174 | incluzhact-preview |
ssh automation@69.62.108.82 << 'EOF'
cd /var/www/incluzhact
git checkout staging # or main
git pull origin staging
npm install
npm run build
pm2 reload incluzhact-preview # or incluzhact
EOF
pm2 status incluzhact
curl -I https://incluzhact.fr
pm2 logs incluzhact --lines 50
ssh srv759970 << 'EOF'
cd /var/www/incluzhact
git reset --hard HEAD^
npm run build
pm2 restart incluzhact
EOF
server {
listen 80;
listen [::]:80;
server_name app.srv759970.hstgr.cloud;
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
listen [::]:80;
server_name wp.srv759970.hstgr.cloud;
client_max_body_size 100M;
location / {
proxy_pass http://localhost:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# Test nginx
sudo nginx -t
# Reload nginx
sudo systemctl reload nginx
# SSL certificate
sudo certbot --nginx -d domain.com
# Check SSL
sudo certbot certificates
# Deploy INCLUZ'HACT
ssh srv759970 'cd /var/www/incluzhact && git pull && npm install && npm run build && pm2 reload incluzhact'
# Check IPv6
sudo nginx -T | grep -E "listen.*\[::\]"
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.