# Pagliagen Tenpennynovels Docker Services

> Overview

- Skill: `tomevault-io/pagliagen-tenpennynovels-docker-services` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/pagliagen-tenpennynovels-docker-services`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/pagliagen-tenpennynovels-docker-services/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/pagliagen-tenpennynovels-docker-services

---


## Overview

Gestisce i servizi Docker del progetto TenPennyNovels. Interpreta richieste in linguaggio naturale (italiano o inglese) e le traduce nei comandi Docker Compose corretti.

Tutti i comandi vanno eseguiti dalla root del progetto.

## Stack

### Principale (`docker-compose.yml` in root)

| Servizio | Container | Porta |
|----------|-----------|-------|
| unified-backend | tenpennynovels-unified-backend | 3001 |
| api-gateway | tenpennynovels-api-gateway | 8000 |
| mongodb | tenpennynovels-mongodb | 27017 |
| redis | tenpennynovels-redis | 6379 |
| embeddings-worker | tenpennynovels-embeddings-worker | 5001 |
| qdrant | tenpennynovels-qdrant | 6333 |
| elasticsearch | tenpennynovels-elasticsearch | 9200 |

`unified-backend` monta i sorgenti in volume (hot-reload con tsx watch). Un semplice `restart` applica le modifiche al codice senza rebuild.

### Local-AI (`local-ai/docker-compose.yml`)

| Servizio | Porta |
|----------|-------|
| gateway | 9000 |
| botai | 8080 |
| qa | 8090 |
| mongodb | 27030 |

Profili opzionali: `ollama-docker`, `image-gen`, `test`.

## Alias servizi

Riconosci questi nomi informali:

| L'utente dice | Servizio Docker |
|---------------|-----------------|
| unified, backend, server | unified-backend |
| gateway, proxy, api gateway | api-gateway |
| mongo, database, db | mongodb |
| elastic, search | elasticsearch |
| embeddings, worker | embeddings-worker |
| local-ai, ai, local ai | stack local-ai (compose separato) |

## Operazioni -> Comandi

| Richiesta | Comando |
|-----------|---------|
| Riavvia i backend | `docker compose restart unified-backend api-gateway` |
| Riavvia tutto | `docker compose restart` |
| Builda e riavvia [servizio] | `docker compose up -d --build [servizio]` |
| Avvia tutto / Start | `docker compose up -d` |
| Ferma tutto / Stop | `docker compose down` |
| Stato / Status | `docker compose ps` |
| Log di [servizio] | `docker compose logs --tail=50 [servizio]` |
| Avvia local-ai | `docker compose -f local-ai/docker-compose.yml up -d` |
| Ferma local-ai | `docker compose -f local-ai/docker-compose.yml down` |
| Riavvia local-ai | `docker compose -f local-ai/docker-compose.yml restart` |
| Log local-ai | `docker compose -f local-ai/docker-compose.yml logs --tail=50` |
| Stato local-ai | `docker compose -f local-ai/docker-compose.yml ps` |

## Procedura

1. **Interpreta** la richiesta dell'utente usando la tabella alias e operazioni
2. **Esegui** il comando con Shell tool (working_directory: root del progetto)
3. **Verifica** lo stato con `docker compose ps` (o il corrispettivo per local-ai)
4. **Mostra** il risultato all'utente

Per i log, usa `block_until_ms: 5000` e leggi l'output dal file terminale.

## Note

- Se l'utente chiede di riavviare "i backend" senza specificare, riavvia `unified-backend` e `api-gateway`
- Se l'utente chiede di riavviare "tutto", riavvia tutti i servizi dello stack principale
- Per local-ai, usa sempre `-f local-ai/docker-compose.yml`
- Il rebuild (`--build`) serve solo quando cambia il Dockerfile o le dipendenze, non per modifiche al codice sorgente

---
> Source: [pagliagen/tenpennynovels](https://github.com/pagliagen/tenpennynovels) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-05-22 -->

