paas-overview

Overview of the PaaS stack - health checks, service URLs, and common operations.

16 stars

Best use case

paas-overview is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Overview of the PaaS stack - health checks, service URLs, and common operations.

Teams using paas-overview should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/paas-overview-majiayu000/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/paas-overview-majiayu000/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/paas-overview-majiayu000/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How paas-overview Compares

Feature / Agentpaas-overviewStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Overview of the PaaS stack - health checks, service URLs, and common operations.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PaaS Stack Overview

This skill provides an overview of the self-hosted PaaS stack and common operations.

## Services

| Service | Purpose | Env Vars |
|---------|---------|----------|
| Gitea | Git repository hosting | `GITEA_TOKEN`, `GITEA_URL` |
| Coolify | Application deployment | `COOLIFY_TOKEN`, `COOLIFY_URL` |
| n8n | Workflow automation | `N8N_TOKEN`, `N8N_URL` |
| LobeChat | AI chat interface | `LOBE_URL` |
| OpenClaw | AI gateway | `OPENCLAW_GATEWAY_TOKEN` |

## Quick Health Check

```bash
echo "=== Service Health ==="
echo "Gitea: $(curl -sf $GITEA_URL/api/healthz && echo OK || echo FAIL)"
echo "Coolify: $(curl -sf $COOLIFY_URL/api/health && echo OK || echo FAIL)"
echo "n8n: $(curl -sf $N8N_URL/healthz && echo OK || echo FAIL)"
echo "LobeChat: $(curl -sf $LOBE_URL/api/health && echo OK || echo FAIL)"
```

## Available Skills

| Skill | Purpose | Quick Command |
|-------|---------|---------------|
| `gitea` | Repository management | List repos, create branches, manage PRs |
| `coolify` | Deployment management | Deploy apps, manage envs, view logs |
| `n8n` | Workflow automation | Create workflows, manage credentials |
| `ci-cd` | CI/CD pipeline setup | Connect repos to Coolify |
| `lobechat` | LobeChat integration | Knowledge base queries |

## Common Operations

### Create and Deploy a New App

```bash
# 1. Create repository in Gitea
curl -X POST "$GITEA_URL/api/v1/user/repos" \
  -H "Authorization: token $GITEA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-app", "auto_init": true}'

# 2. Connect to Coolify (creates deploy key + webhook)
bash /srv/paas/scripts/setup-ci-cd.sh my-app myapp 3000

# 3. Push code → auto deploys via webhook
```

### CI/CD Architecture

```
Push to Gitea
    ↓
Webhook → https://coolify.domain/webhooks/source/gitea/events/manual?app={uuid}
    ↓
Coolify clones via SSH (git@gitea:user/repo.git)
    ↓
Build container → Deploy to coolify network
    ↓
Traefik routes by domain → Container
```

**Key requirements:**
- Gitea must be on `coolify` network (for SSH clone access)
- Coolify proxy must be on `paas-network` (for cloudflared access)
- Deploy key in both Coolify and Gitea
- Webhook secret matching `manual_webhook_secret_gitea`

### Check Deployment Status

```bash
curl -s "$COOLIFY_URL/api/v1/deployments" \
  -H "Authorization: Bearer $COOLIFY_TOKEN" | jq '.[0:3] | .[] | {status, created_at}'
```

### Trigger Manual Deployment

```bash
curl -X POST "$COOLIFY_URL/api/v1/applications/APP_UUID/restart" \
  -H "Authorization: Bearer $COOLIFY_TOKEN"
```

### Create Automation Workflow

```bash
# List n8n workflows
curl -s "$N8N_URL/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_TOKEN" | jq '.data[] | {id, name, active}'
```

## Scripts

| Script | Purpose |
|--------|---------|
| `bash /srv/paas/scripts/setup-ci-cd.sh` | Connect repo → Coolify with deploy keys |
| `bash /srv/paas/scripts/refresh-tokens.sh` | Regenerate API tokens |
| `bash /srv/paas/scripts/bootstrap.sh` | Full stack setup |

**Note:** Use `bash` prefix for cross-platform compatibility.

## Token Refresh

If API calls fail with authentication errors:

```bash
# Refresh all tokens
bash /srv/paas/scripts/refresh-tokens.sh --all

# Refresh specific service
bash /srv/paas/scripts/refresh-tokens.sh --gitea
bash /srv/paas/scripts/refresh-tokens.sh --coolify
```

## Network Architecture

The stack uses two bridged networks for full inter-service communication:

| Network | Services | Purpose |
|---------|----------|---------|
| `paas-network` | All core services | Stack internal communication |
| `coolify` | Deployed apps + proxy | Coolify-managed applications |

**All core services are connected to BOTH networks**, allowing:
- Stack services to communicate with each other
- Stack services to communicate with deployed applications
- n8n workflows to call deployed app APIs
- OpenClaw agent to interact with deployed services

## Network Troubleshooting

```bash
# Check which networks a service is on
docker inspect gitea --format '{{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{end}}'

# Connect all core services to coolify network (if missing)
docker network connect coolify gitea
docker network connect coolify n8n
docker network connect coolify openclaw-cli
docker network connect coolify lobe-chat
docker network connect paas-network coolify-proxy

# Verify all connections
for svc in gitea n8n openclaw-cli lobe-chat; do
    echo "$svc: $(docker inspect $svc --format '{{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{end}}')"
done
```

## Service-Specific Skills

For detailed operations, use the dedicated skills:

- **Gitea operations**: Read `/srv/paas/skills/gitea/SKILL.md`
- **Coolify operations**: Read `/srv/paas/skills/coolify/SKILL.md`
- **n8n operations**: Read `/srv/paas/skills/n8n/SKILL.md`
- **CI/CD setup**: Read `/srv/paas/skills/ci-cd/SKILL.md`

## Environment Variables

All service URLs and tokens are available as environment variables:

```bash
# Check available env vars
env | grep -E "_URL|_TOKEN" | grep -v "="
```

Related Skills

pcf-overview

16
from diegosouzapw/awesome-omni-skill

Power Apps Component Framework overview and fundamentals Triggers on: **/*.{ts,tsx,js,json,xml,pcfproj,csproj}

hive-overview

16
from diegosouzapw/awesome-omni-skill

Hive framework structure and conventions. Apply when working with this codebase.

go-project-overview

16
from diegosouzapw/awesome-omni-skill

Overview of Go project structure, technology stack (Echo, Connect RPC, Driver pattern), and essential commands for building, testing, and development

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

pdf

16
from diegosouzapw/awesome-omni-skill

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

pdf-official

16
from diegosouzapw/awesome-omni-skill

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmaticall...

pdf-manipulation

16
from diegosouzapw/awesome-omni-skill

Manipulate PDF files including merge, split, extract, redact, convert, and secure workflows.

pdf-api-io-automation

16
from diegosouzapw/awesome-omni-skill

Automate PDF API IO tasks via Rube MCP (Composio). Always search tools first for current schemas.

pc-games

16
from diegosouzapw/awesome-omni-skill

PC and console game development principles. Engine selection, platform features, optimization strategies.

payload

16
from diegosouzapw/awesome-omni-skill

Builds full-stack applications with Payload CMS, the Next.js-native headless CMS. Use when creating content-driven apps with TypeScript, code-first configuration, and full control over your backend.

patterns/arena-allocator

16
from diegosouzapw/awesome-omni-skill

Arena Allocator Pattern (C-Specific) pattern for C development

patterns/adapter

16
from diegosouzapw/awesome-omni-skill

Adapter (Wrapper) Pattern pattern for C development