Monorepo for Aesthetic.Computer aesthetic.computer
at main 136 lines 4.5 kB view raw
1// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: 2// https://github.com/microsoft/vscode-dev-containers/tree/v0.241.1/containers/codespaces-linux 3// And for devcontainer cli usage check out: https://github.com/devcontainers/cli?tab=readme-ov-file 4{ 5 "name": "Default", 6 "build": { 7 "dockerfile": "Dockerfile", 8 "args": { 9 "BUILDKIT_INLINE_CACHE": "1", 10 "DOCKER_BUILDKIT": "1", 11 "FEDORA_IMAGE": "quay.io/fedora/fedora:latest" 12 } 13 }, 14 "containerEnv": { 15 "DISPLAY": "${localEnv:DISPLAY}", 16 "HOST_IP": "${localEnv:HOST_IP}", 17 "WSL_DISTRO_NAME": "${localEnv:WSL_DISTRO_NAME}", 18 "DOCKER_BUILDKIT": "1", 19 "COMPOSE_DOCKER_CLI_BUILD": "1" 20 }, 21 "mounts": [ 22 "source=${localWorkspaceFolder}/.devcontainer/.emacs.d,target=/home/me/.emacs.d,type=bind,consistency=cached", 23 "source=${localWorkspaceFolder}/.devcontainer/envs,target=/home/me/envs,type=bind,consistency=cached", 24 "source=aesthetic-fish-data,target=/home/me/.local/share/fish,type=volume", 25 "source=aesthetic-copilot-data,target=/home/me/.copilot,type=volume", 26 "source=codespaces-linux-var-lib-docker,target=/var/lib/docker,type=volume", 27 "source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind", 28 "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock" 29 // NOTE: /etc/localtime mount removed - it doesn't exist on macOS and breaks container start. 30 // Docker Desktop on macOS handles timezone sync automatically. 31 ], 32 // "features": { 33 // "ghcr.io/devcontainers/features/python:1": "none" 34 // }, 35 "forwardPorts": [8888, 8111, 8889, 8083, 8084, 8085, 4040, 12345, 3478, 10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007], 36 "portsAttributes": { 37 "8888": { 38 "label": "Aesthetic Computer", 39 "onAutoForward": "notify", 40 "visibility": "public" 41 }, 42 "3478": { 43 "label": "TURN Server", 44 "protocol": "udp", 45 "onAutoForward": "silent" 46 }, 47 "8111": { 48 "label": "Caddy", 49 "onAutoForward": "silent", 50 "visibility": "public" 51 }, 52 "8889": { 53 "label": "Session Server", 54 "onAutoForward": "silent", 55 "visibility": "public" 56 }, 57 "8083": { 58 "label": "Chat System", 59 "onAutoForward": "silent", 60 "visibility": "public" 61 }, 62 "8084": { 63 "label": "Chat SOTCE", 64 "onAutoForward": "silent", 65 "visibility": "public" 66 }, 67 "8085": { 68 "label": "Chat Clock", 69 "onAutoForward": "silent", 70 "visibility": "public" 71 } 72 }, 73 "customizations": { 74 "codespaces": { 75 "machine": "largePremiumLinux" 76 }, 77 "vscode": { 78 "extensions": [], 79 "settings": { 80 "settingsSync.ignoredExtensions": ["github.copilot-chat", "github.copilot"], 81 "extensions.ignoreRecommendations": true, 82 "remote.extensionKind": { 83 "github.copilot-chat": ["ui"], 84 "github.copilot": ["ui"] 85 }, 86 "extensions.autoUpdate": false, 87 "settingsSync.keybindingsPerPlatform": false, 88 "git.autorefresh": false, 89 "files.watcherExclude": { 90 "**/node_modules/**": true, 91 "**/.git/objects/**": true, 92 "**/.git/subtree-cache/**": true, 93 "**/dist/**": true, 94 "**/packed/**": true, 95 "**/archive/**": true 96 } 97 } 98 } 99 }, 100 "runArgs": [ 101 // 📋 Clipboard also requires `xhost +local:docker` to be set on the host. 102 "-v", 103 "/tmp/.X11-unix:/tmp/.X11-unix", 104 "-q", 105 "--cap-add=SYS_PTRACE", 106 "--security-opt=apparmor=unconfined", 107 "--name", 108 "aesthetic", 109 "--hostname", 110 "aesthetic", 111 "--init", 112 "--memory=12g", 113 "--memory-swap=12g", 114 "--shm-size=2g", 115 "--cgroupns=host", 116 "--tmpfs=/tmp:noexec,nosuid,size=2g", 117 "-p", 118 "0.0.0.0:8888:8888", 119 "-p", 120 "0.0.0.0:8889:8889", 121 "-p", 122 "0.0.0.0:3478:3478/udp", 123 "-p", 124 "0.0.0.0:49160-49167:49160-49167/udp", 125 "-p", 126 "0.0.0.0:10000-10007:10000-10007/udp", 127 "--ulimit", 128 "nofile=131072:131072" 129 // "--network", 130 // "host" 131 ], 132 "initializeCommand": ["sh", "-c", ".devcontainer/scripts/prepare-host.sh"], 133 "postStartCommand": "sh .devcontainer/scripts/poststart-wrapper.sh", 134 "postAttachCommand": "sh .devcontainer/scripts/post-attach.sh" 135 // .waiter file is now created inside entry.fish to avoid terminal popup in Codespaces 136}