Przejdź do głównej zawartości

Gotowe przykłady apps.json dla typowych konfiguracji aplikacji

Każdy fragment to jeden wpis. Umieść je wewnątrz tablicy najwyższego poziomu w apps.json, oddzielone przecinkami. Zmień identyfikatory, nazwy i ścieżki zgodnie z własną konfiguracją.

Działa, dopóki port 5173 odpowiada. Gdy to nastąpi, otwiera się przeglądarka. Zatrzymanie zwalnia też port, co jest ustawieniem domyślnym dla web.

apps.json
{
"id": "site",
"name": "Site",
"group": "Web apps",
"type": "web",
"cwd": "C:\\code\\site",
"command": "npm run dev",
"port": 5173,
"url": "http://localhost:5173",
"openBrowser": true
}
apps.json
{
"id": "habit-tracker",
"name": "Habit Tracker",
"group": "Web apps",
"type": "web",
"cwd": "C:\\code\\habits",
"command": "python app.py",
"port": 8091,
"url": "http://127.0.0.1:8091",
"openBrowser": true,
"env": { "PORT": "8091" },
"note": "Moved off 8000 to avoid a clash"
}

Działa, dopóki istnieje proces o nazwie notes-app. Zatrzymanie kończy ten proces według nazwy.

apps.json
{
"id": "notes-app",
"name": "Notes App",
"group": "Desktop apps",
"type": "desktop",
"cwd": "C:\\code\\notes-app",
"command": "npm run tauri dev",
"processName": "notes-app"
}

Bez terminala. Uruchomienie otwiera stronę.

apps.json
{
"id": "team-board",
"name": "Team board",
"group": "Docs",
"type": "static",
"url": "https://example.com/board"
}

Moonpool uruchamia serwer w terminalu, śledzi go po porcie i otwiera stronę, gdy serwer odpowie.

apps.json
{
"id": "docs-site",
"name": "Docs",
"group": "Docs",
"type": "static",
"cwd": "C:\\code\\docs\\public",
"command": "python -m http.server 8090",
"port": 8090,
"url": "http://localhost:8090",
"openBrowser": true,
"killMode": "port"
}

Działa w karcie terminala. Opcja -NoExit pozostawia powłokę otwartą po zakończeniu skryptu.

apps.json
{
"id": "backup",
"name": "Backup script",
"group": "CLI tools",
"type": "cli",
"cwd": "C:\\code\\scripts",
"command": "pwsh -NoLogo -NoProfile -NoExit -Command .\\backup.ps1 -Verbose"
}

command już odtwarza kontener i kończy działanie, więc stan „działa” wynika z portu. Zatrzymanie uruchamia stopCommand zamiast kończyć właściciela portu, którym w systemie Windows byłby Docker Desktop. Zob. Zatrzymywanie i ponowne uruchamianie.

apps.json
{
"id": "api",
"name": "API",
"group": "Web apps",
"type": "web",
"cwd": "C:\\code\\api",
"command": "docker compose up -d --build",
"port": 8080,
"url": "http://localhost:8080",
"killMode": "command",
"stopCommand": "docker compose stop app"
}

Jeśli kontener ma pozostać uruchomiony po zatrzymaniu aplikacji, użyj "killMode": "none" i pomiń stopCommand.

Ścieżki są zakotwiczone w folderze przenośnym, więc wpis działa także po przeniesieniu folderu.

apps.json
{
"id": "notes",
"name": "Notes",
"group": "Desktop apps",
"type": "desktop",
"cwd": "./apps/notes",
"command": "{MP_HOME}\\apps\\notes\\notes.exe",
"processName": "notes",
"icon": "{MP_HOME}\\icons\\notes.png"
}

Moonpool to darmowe oprogramowanie od FasterDB