Adds Compose: Build & Up, Up, Down, Logs tasks for both Windows and Linux, allowing the complete app to be tested locally via docker-compose on port 8080. Updates README task table to reflect all available tasks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
302 lines
11 KiB
JSON
302 lines
11 KiB
JSON
{
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
|
|
// ── Docker: Build ──────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Docker: Build (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker build -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile ."
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Docker: Build (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker build -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile ."
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Docker: Push ───────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Docker: Push (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker push 192.168.0.19:5000/archivum:latest"
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Docker: Push (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker push 192.168.0.19:5000/archivum:latest"
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Docker: Build & Push ───────────────────────────────────────────────────
|
|
{
|
|
"label": "Docker: Build & Push (Windows)",
|
|
"dependsOrder": "sequence",
|
|
"dependsOn": ["Docker: Build (Windows)", "Docker: Push (Windows)"],
|
|
"group": { "kind": "build", "isDefault": true },
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Docker: Build & Push (Linux)",
|
|
"dependsOrder": "sequence",
|
|
"dependsOn": ["Docker: Build (Linux)", "Docker: Push (Linux)"],
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Docker: Multi-arch Build & Push (buildx) ───────────────────────────────
|
|
{
|
|
"label": "Docker: Multi-arch Build & Push (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker buildx build --platform linux/amd64,linux/arm64 -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile --push ."
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Docker: Multi-arch Build & Push (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker buildx build --platform linux/amd64,linux/arm64 -t 192.168.0.19:5000/archivum:latest -f docker/Dockerfile --push ."
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Backend: Run ───────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Backend: Run",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "go run .\\cmd\\server",
|
|
"options": { "cwd": "${workspaceFolder}\\backend" }
|
|
},
|
|
"linux": {
|
|
"command": "go run ./cmd/server",
|
|
"options": { "cwd": "${workspaceFolder}/backend" }
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(.*)", "file": 1, "line": 2, "column": 3, "message": 4 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "^Archivum listening",
|
|
"endsPattern": "^Archivum listening"
|
|
}
|
|
}
|
|
},
|
|
|
|
// ── Frontend: Dev ──────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Frontend: Dev",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "npm run dev",
|
|
"options": { "cwd": "${workspaceFolder}\\frontend" }
|
|
},
|
|
"linux": {
|
|
"command": "npm run dev",
|
|
"options": { "cwd": "${workspaceFolder}/frontend" }
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(.*)", "file": 1, "line": 2, "column": 3, "message": 4 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "VITE",
|
|
"endsPattern": "Local:"
|
|
}
|
|
}
|
|
},
|
|
|
|
// ── Frontend: Build ────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Frontend: Build",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "npm run build",
|
|
"options": { "cwd": "${workspaceFolder}\\frontend" }
|
|
},
|
|
"linux": {
|
|
"command": "npm run build",
|
|
"options": { "cwd": "${workspaceFolder}/frontend" }
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": ["$tsc"]
|
|
},
|
|
|
|
// ── Compose: Build (local test image) ──────────────────────────────────────
|
|
{
|
|
"label": "Compose: Build (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker compose -f docker/docker-compose.yml build"
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Compose: Build (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker compose -f docker/docker-compose.yml build"
|
|
},
|
|
"group": "build",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Compose: Up ────────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Compose: Up (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker compose -f docker/docker-compose.yml up"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": ".", "file": 1, "line": 2, "message": 3 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "Starting",
|
|
"endsPattern": "Archivum listening"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"label": "Compose: Up (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker compose -f docker/docker-compose.yml up"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": ".", "file": 1, "line": 2, "message": 3 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "Starting",
|
|
"endsPattern": "Archivum listening"
|
|
}
|
|
}
|
|
},
|
|
|
|
// ── Compose: Down ──────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Compose: Down (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker compose -f docker/docker-compose.yml down"
|
|
},
|
|
"group": "test",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Compose: Down (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker compose -f docker/docker-compose.yml down"
|
|
},
|
|
"group": "test",
|
|
"presentation": { "reveal": "always", "panel": "shared" },
|
|
"problemMatcher": []
|
|
},
|
|
|
|
// ── Compose: Build & Up (one-shot local test) ──────────────────────────────
|
|
{
|
|
"label": "Compose: Build & Up (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker compose -f docker/docker-compose.yml up --build"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": ".", "file": 1, "line": 2, "message": 3 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "Building",
|
|
"endsPattern": "Archivum listening"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"label": "Compose: Build & Up (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker compose -f docker/docker-compose.yml up --build"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": {
|
|
"pattern": { "regexp": ".", "file": 1, "line": 2, "message": 3 },
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": "Building",
|
|
"endsPattern": "Archivum listening"
|
|
}
|
|
}
|
|
},
|
|
|
|
// ── Compose: Logs ──────────────────────────────────────────────────────────
|
|
{
|
|
"label": "Compose: Logs (Windows)",
|
|
"type": "shell",
|
|
"windows": {
|
|
"command": "docker compose -f docker/docker-compose.yml logs -f"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "Compose: Logs (Linux)",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "docker compose -f docker/docker-compose.yml logs -f"
|
|
},
|
|
"group": "test",
|
|
"isBackground": true,
|
|
"presentation": { "reveal": "always", "panel": "dedicated" },
|
|
"problemMatcher": []
|
|
}
|
|
|
|
]
|
|
}
|