Przejdź do treści
Biblioteka skilli
DevOps i chmura · Automatyzacja

add-app

/add-app

Instaluje samodzielnie hostowaną aplikację na serwerze z katalogu Discover lub przez przepis Server OS.

Repozytorium
server-os ↗
Licencja
MIT
Ostatnia zmiana repozytorium
03.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
3
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Instaluje samodzielnie hostowaną aplikację na serwerze z katalogu Discover lub przez przepis Server OS.

Wyzwalacze z opisu

install Xset up XI want X
Oryginalny opis (EN)

Install a self-hosted app on this server — from the Discover catalog when possible, otherwise by writing a Server OS recipe. Use for "install X", "set up X", "I want X", or an install request in inbox/.

Jak działa

  1. Recipe format
Sekcje z nagłówków SKILL.md, w oryginale · 50 linii, 353 słów
Podgląd SKILL.md
---
name: add-app
description: Install a self-hosted app on this server — from the Discover catalog when possible, otherwise by writing a Server OS recipe. Use for "install X", "set up X", "I want X", or an install request in inbox/.
---

# Add an app

1. **Find it:** `search_catalog` with the app's name, then `catalog_entry` for the best hit.
   - Check its `install` options, ranked best first: recipe, casaos, linuxserver, brew, cask.
   - If the project is archived, tell the owner and suggest a maintained alternative from the same category.
2. **Plan:** `plan_install` with the chosen method. Read the compose file:
   - Image tag: avoid ancient tags. `latest` is fine for home use.
   - Ports: `{{port:N}}` is filled with a free port at install time.
   - Volumes: everything must live under `{{data}}`.
   - Required env vars without a value: ask the owner, or pick safe defaults and say so.
   - Privileged mode, host networking, `/var/run/docker.sock` mounts: only if the app truly needs them, and tell the owner.
3. **Install:** `install_app`, then poll `operation_status` every ~5 s until `ok` or `failed`.
4. **Verify:**
   - The app shows up in `list_apps` with state `on`.
   - Its URL answers: `href` in `app.yaml`, or `curl -sI` the port.
   - Then make it ready to use with the **finish-app** skill (admin account, first-run wizard, ready card).
5. **No automatic method?** Write a recipe in `../config/recipes/<id>.yaml` (format below).
   - Base it on the project's official docker-compose or Homebrew formula.
   - Put first-run steps you worked out in the recipe's `setup:` field, so the next install goes faster.
   - Then `reload_recipes`, `search_catalog` for it (its catalog id is the recipe's), and `install_app` with method `recipe`.
6. **Done:** if this came from `inbox/`, move the request to `inbox/done/` with a one-line result.

## Recipe format
```yaml
id: my-app                  # lowercase, dashes
name: My App
description: One sentence.
category: Media Streaming
website: https://…
repo: https://github.com/…
logo: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/my-app.svg
docker:
  compose: |
    services:
      my-app:
        image: org/my-app:latest
        container_name: sd-my-app
        restart: unless-stopped
        environment: { TZ: "{{tz}}", PUID: "{{puid}}", PGID: "{{pgid}}" }
        ports: ["{{port:8080}}:8080"]
        volumes: ["{{data}}:/data"]
# or:  brew: { formula: name, service: true }   web: { port: 1234 }
notes: What the owner must know after installing (one line).
setup: |
  First-run steps for the agent, e.g.:
  docker exec sd-my-app my-app user create --admin --name <owner> --password <admin_password secret>
  Then set SIGNUPS=false in compose.yaml and restart.
```

Wersje

W bazie nie ma innych skilli o nazwie add-app.

Migawka bazy z 13.11.2026 · wersja paczki ae6abe96b288 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 96self-hosted-web-service-ops
    Obsługuje i diagnozuje samodzielnie hostowaną usługę WWW, sprawdzając logi, procesy i konfigurację.
  • 90install-open-mail-server
    Instaluje Open Mail Server na serwerze VPS przez SSH: sprawdza Docker, kopiuje projekt i uruchamia kontener.
  • 81compose-apps
    Wdraża samodzielnie hostowaną aplikację z pliku docker-compose lub gotowych obrazów, np. Mattermost, Gitea czy Nextcloud.
  • 90add-service
    Instaluje, dodaje lub przenosi aplikację na własnym serwerze domowym przez Docker Compose, np. Immich czy Jellyfin.
  • 100deploy
    Dodaje lub ponownie wdraża stosy aplikacji na VPS z bento przez SSH, uzgadnia stan z Portainerem, weryfikuje każdą aplikację i raportuje adresy URL oraz artefakty startowe.
  • 100thunderid-install
    Instaluje i uruchamia serwer ThunderID, gdy trzeba go postawić lub zrestartować.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.