aboutsummaryrefslogtreecommitdiff
path: root/.devcontainer/devcontainer.json
blob: 8b6b12c31ec9af989bd6bab76235c691dcc40809 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
    "name": "Development Jellyfin Server",
    "image": "mcr.microsoft.com/devcontainers/dotnet:9.0-bookworm",
    "service": "app",
    "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
    // restores nuget packages, installs the dotnet workloads and installs the dev https certificate
    "postStartCommand": "sudo dotnet restore; sudo dotnet workload update; sudo dotnet dev-certs https --trust; sudo bash \"./.devcontainer/install-ffmpeg.sh\"",
    // reads the extensions list and installs them
    "postAttachCommand": "cat .vscode/extensions.json | jq -r .recommendations[] | xargs -n 1 code --install-extension",
    "features": {
        "ghcr.io/devcontainers/features/dotnet:2": {
            "version": "none",
            "dotnetRuntimeVersions": "9.0",
            "aspNetCoreRuntimeVersions": "9.0"
        },
        "ghcr.io/devcontainers-extra/features/apt-packages:1": {
            "preserve_apt_list": false,
            "packages": [
                "libfontconfig1"
            ]
        },
        "ghcr.io/devcontainers/features/docker-in-docker:2": {
            "dockerDashComposeVersion": "v2"
        },
        "ghcr.io/devcontainers/features/github-cli:1": {},
        "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}
    },
    "hostRequirements": {
        "memory": "8gb",
        "cpus": 4
    }
}