From 754b8a1ba4612259b6048a21df7ad87b079781ac Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sun, 5 Jul 2026 17:33:28 +0100 Subject: [PATCH 1/7] update to reflect new name code-server Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- .github/workflows/docker-publish.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 5ffb57d..67d46cf 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,4 +1,4 @@ -name: Build & Deploy mosgarage +name: Build & Deploy code-server on: push: @@ -16,7 +16,7 @@ on: env: REGISTRY: docker.io - IMAGE_NAME: mosgarage/mosgarage + IMAGE_NAME: mosgarage/code-server PLATFORMS: linux/amd64,linux/arm64 jobs: @@ -84,14 +84,14 @@ jobs: if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} + username: mosgarage password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Extract metadata id: meta uses: docker/metadata-action@v5 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: ghcr.io/mosgarage/code-server tags: | type=ref,event=branch type=ref,event=pr @@ -102,9 +102,9 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} labels: | org.opencontainers.image.title=mosgarage - org.opencontainers.image.description=mosgarage premium home base - org.opencontainers.image.url=https://hub.docker.com/r/mosgarage/mosgarage - org.opencontainers.image.source=https://github.com/mosgarage/mosgaragedev + org.opencontainers.image.description=mosgarage premium codeserver base + org.opencontainers.image.url=https://hub.docker.com/r/mosgarage/code-server + org.opencontainers.image.source=https://github.com/mosgarage/code-server org.opencontainers.image.vendor=mosgarage - name: Build and push @@ -130,7 +130,7 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY echo "| Field | Value |" >> $GITHUB_STEP_SUMMARY echo "|---|---|" >> $GITHUB_STEP_SUMMARY - echo "| Image | \`docker.io/mosgarage/mosgarage\` |" >> $GITHUB_STEP_SUMMARY + echo "| Image | \`docker.io/mosgarage/code-server\` |" >> $GITHUB_STEP_SUMMARY echo "| Digest | \`${{ steps.build.outputs.digest }}\` |" >> $GITHUB_STEP_SUMMARY echo "| Tags | ${{ steps.meta.outputs.tags }} |" >> $GITHUB_STEP_SUMMARY echo "| Platforms | ${{ env.PLATFORMS }} |" >> $GITHUB_STEP_SUMMARY @@ -148,6 +148,6 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - repository: mosgarage/mosgarage + repository: mosgarage/code-server readme-filepath: ./README.md continue-on-error: true From 52a867979cf60859b913bc5f4443bf8b3ee79d7e Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sun, 5 Jul 2026 18:38:03 +0100 Subject: [PATCH 2/7] Update docker-compose.yml Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b54d17f..ad60be1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,11 @@ # ============================================================ -# mosgarage/mosgarage — Docker Compose -# GitHub: github.com/mosgarage/mosgaragedev +# mosgarage/code-server — Docker Compose +# GitHub: github.com/mosgarage/code-serverdev # ============================================================ services: mosgarage: - image: docker.io/mosgarage/mosgarage:latest + image: docker.io/mosgarage/code-server:latest container_name: mosgarage build: context: . @@ -55,7 +55,7 @@ services: # SSH deploy key (Option A auth — comment out if using GITHUB_TOKEN) # Generate with: ./scripts/gen-deploy-key.sh - # Add public key at: github.com/mosgarage/mosgaragedev/settings/keys + # Add public key at: github.com/mosgarage/code-server/settings/keys - ./ssh-keys/id_ed25519:/home/mosgarage/.ssh/id_ed25519:ro # - ./ssh-keys/id_ed25519.pub:/home/mosgarage/.ssh/id_ed25519.pub:ro From 290ed631e88438e146be63dc909ac0106b18a5a1 Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sun, 5 Jul 2026 18:41:58 +0100 Subject: [PATCH 3/7] Update Makefile Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- Makefile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 028eadd..ad75131 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # ============================================================ -# mosgarage · Makefile +# code-server · Makefile # Usage: make # ============================================================ -IMAGE := docker.io/mosgarage/mosgarage -CONTAINER := mosgarage +IMAGE := docker.io/mosgarage/code-server +CONTAINER := code-server VERSION ?= latest .PHONY: help build push run stop shell logs status git-sync git-status \ @@ -14,7 +14,7 @@ VERSION ?= latest help: @echo "" @echo "╔══════════════════════════════════════════════════╗" - @echo "║ mosgarage · Makefile targets ║" + @echo "║ code-server · Makefile targets ║" @echo "╠══════════════════════════════════════════════════╣" @echo "║ make setup First-time setup ║" @echo "║ make build Build Docker image ║" @@ -67,7 +67,7 @@ push: up: @[[ -f .env ]] || { echo "❌ .env missing — run: make setup"; exit 1; } docker compose up -d - @echo "✅ mosgarage is running" + @echo "✅ code-server is running" @echo " https://localhost (Nginx — all services)" @echo " http://localhost:8080 (code-server direct)" @@ -75,7 +75,7 @@ down: docker compose down restart: - docker compose restart mosgarage + docker compose restart code-server deploy: push up @echo "✅ Deploy complete" @@ -88,13 +88,13 @@ logs: docker compose logs -f $(CONTAINER) log-git: - docker exec $(CONTAINER) tail -f /var/log/mosgarage/git-sync.log + docker exec $(CONTAINER) tail -f /var/log/code-server/git-sync.log log-api: - docker exec $(CONTAINER) tail -f /var/log/mosgarage/api-server.log + docker exec $(CONTAINER) tail -f /var/log/code-server/api-server.log log-nginx: - docker exec $(CONTAINER) tail -f /var/log/mosgarage/nginx-access.log + docker exec $(CONTAINER) tail -f /var/log/code-server/nginx-access.log status: @echo "" @@ -125,9 +125,9 @@ setup-secrets: @command -v gh >/dev/null || { echo "❌ Install GitHub CLI: https://cli.github.com"; exit 1; } @[[ -n "$$DOCKERHUB_USERNAME" ]] || { echo "❌ Set DOCKERHUB_USERNAME env var"; exit 1; } @[[ -n "$$DOCKERHUB_TOKEN" ]] || { echo "❌ Set DOCKERHUB_TOKEN env var"; exit 1; } - gh secret set DOCKERHUB_USERNAME --body "$$DOCKERHUB_USERNAME" --repo mosgarage/mosgaragedev - gh secret set DOCKERHUB_TOKEN --body "$$DOCKERHUB_TOKEN" --repo mosgarage/mosgaragedev - @echo "✅ GitHub secrets set for mosgarage/mosgaragedev" + gh secret set DOCKERHUB_USERNAME --body "$$DOCKERHUB_USERNAME" --repo mosgarage/code-server + gh secret set DOCKERHUB_TOKEN --body "$$DOCKERHUB_TOKEN" --repo mosgarage/code-server + @echo "✅ GitHub secrets set for mosgarage/code-server" # ── Clean ───────────────────────────────────────────────────── clean: From 56e903f0d1f682df186e24637ea9bdd84d354f5a Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sun, 5 Jul 2026 18:46:44 +0100 Subject: [PATCH 4/7] Update Dockerfile Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 00422cb..a64d4ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # ============================================================ -# mosgarage/mosgarage — Home Base Docker Image +# mosgarage/code-server — Home Base Docker Image # Includes: code-server | Node.js 20 LTS | Express API | PM2 # GitHub auto-sync (git-setup + git-sync daemon) # ============================================================ @@ -7,8 +7,8 @@ FROM ubuntu:22.04 LABEL maintainer="mosgarage" -LABEL org.opencontainers.image.source="https://github.com/mosgarage/mosgaragedev" -LABEL image="docker.io/mosgarage/mosgarage" +LABEL org.opencontainers.image.source="https://github.com/mosgarage/code-server" +LABEL image="docker.io/mosgarage/code-server" LABEL description="mosgarage home base: code-server + node server + API + GitHub sync" # ── Prevent interactive prompts ────────────────────────────── @@ -27,7 +27,7 @@ ENV API_KEY= # ── GitHub sync ─────────────────────────────────────────────── ENV GITHUB_USER=mosgaragedev ENV GITHUB_ORG=mosgarage -ENV GITHUB_REPO=mosgaragedev +ENV GITHUB_REPO=code-server ENV GITHUB_TOKEN= ENV GIT_BRANCH=main ENV GIT_NAME=mosgaragedev From 9bdffba78b19dc0d5ab5381de55b07f8aa4562ff Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Tue, 7 Jul 2026 02:26:46 +0100 Subject: [PATCH 5/7] Add GitHub Actions workflow for build and push Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- .github/workflows/build.yml | 96 +++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fa3b765 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,96 @@ +cat > .github/workflows/build.yml << 'YAML' +name: Build & Push + +on: + push: + branches: [main, Preview] + tags: ['v*'] + pull_request: + branches: [main] + workflow_dispatch: + inputs: + variant: + description: 'Variant (base | sdk | python | full | all)' + default: 'all' + +env: + REGISTRY: docker.io + IMAGE: mosgarage/code-server + +jobs: + build: + name: ${{ matrix.variant }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + variant: [base, sdk, python, full] + + steps: + - uses: actions/checkout@v4 + + - uses: docker/setup-qemu-action@v3 + + - uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Tags + id: tags + run: | + TAGS="${{ env.IMAGE }}:${{ matrix.variant }}" + TAGS="$TAGS,${{ env.IMAGE }}:${{ matrix.variant }}-$(date +%Y%m%d)" + if [ "${{ matrix.variant }}" = "base" ]; then + TAGS="$TAGS,${{ env.IMAGE }}:latest" + fi + echo "tags=$TAGS" >> $GITHUB_OUTPUT + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + target: ${{ matrix.variant }} + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.tags.outputs.tags }} + cache-from: type=gha,scope=${{ matrix.variant }} + cache-to: type=gha,mode=max,scope=${{ matrix.variant }} + build-args: | + NODE_VERSION=20 + DOTNET_CHANNEL=10.0 + + wsl-pack: + name: WSL pack — ${{ matrix.variant }} + runs-on: ubuntu-latest + needs: build + if: startsWith(github.ref, 'refs/tags/') + strategy: + matrix: + variant: [base, sdk, python, full] + + steps: + - uses: actions/checkout@v4 + + - name: Pull built image + run: docker pull ${{ env.IMAGE }}:${{ matrix.variant }} + + - name: Pack rootfs + run: bash scripts/wsl-pack.sh ${{ matrix.variant }} + + - name: Upload tarball + uses: actions/upload-artifact@v4 + with: + name: mosgarage-cs-${{ matrix.variant }}-wsl + path: dist/mosgarage-cs-${{ matrix.variant }}.tar.gz + retention-days: 30 + + - name: Attach to release + uses: softprops/action-gh-release@v2 + with: + files: dist/mosgarage-cs-${{ matrix.variant }}.tar.gz +YAML From 818012bbf4584a48e83b747793f89ab1480ae02c Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sat, 11 Jul 2026 19:24:53 +0100 Subject: [PATCH 6/7] Update devcontainer configuration with custom settings Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- .devcontainer/devcontainer.json | 73 +++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..2c4c539 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,73 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet +{ + "name": "Dev-environment", + "build": { + "dockerfile": "./Dockerfile", + "context": "." + }, + "customizations": { + "vscode": { + "extensions": [ + "ms-dotnettools.csdevkit", + "ms-dotnettools.dotnet-interactive-vscode", + "vscode-icons-team.vscode-icons", + "humao.rest-client", + "42Crunch.vscode-openapi", + "stoplight.spectral", + "leosj29.bash-sh-runner", + "Codeium.codeium", + "ahmedshakill.bash-script-runner", + "YasharHabibi.run-bash-script", + "firma.shell-runner", + "coder.coder-remote", + "Codium.codium", + "docker.docker", + "p1c2u.docker-compose", + "ms-azuretools.vscode-containers", + "ktock.container-wasm" + ], + "settings": { + "editor.tabSize": 4, + "terminal.integrated.fontFamily": "MesloLGM Nerd Font", + "terminal.integrated.fontLigatures.enabled": true, + "terminal.integrated.defaultProfile.linux": "zsh", + "terminal.integrated.profiles.linux": { + "zsh": { + "path": "/bin/zsh", + "icon": "terminal-ubuntu" + } + { + "python.linting.pylintEnabled": true, + + } + } + } + } + }, + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/common-utils": { + "installZsh": true, + "installOhMyZsh": true, + "installOhMyZshConfig": true, + "configureZshAsDefaultShell": true + }, + "ghcr.io/devcontainers-extra/features/zsh-plugins:0": { + "plugins": "zsh-autosuggestions zsh-syntax-highlighting", + "omzPlugins": "https://github.com/zsh-users/zsh-autosuggestions.git https://github.com/zsh-users/zsh-syntax-highlighting.git" + } + }, + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [5000, 5001], + "portsAttributes": { + "5001": { + "protocol": "https" + } + } + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": ".devcontainer/scripts/post-create.sh" + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} From 05f99bee9cdb2283ce6c51a5234e7e5bb8c5e3ac Mon Sep 17 00:00:00 2001 From: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> Date: Sat, 11 Jul 2026 19:26:24 +0100 Subject: [PATCH 7/7] Add Dockerfile for .NET development environment Signed-off-by: Mosgarage Dev <277760424+mosgaragedev@users.noreply.github.com> --- .devcontainer/Dockerfile | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .devcontainer/Dockerfile diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..abb917f --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,8 @@ +# Use the most recent .NET LTS as the base image +FROM mcr.microsoft.com/devcontainers/dotnet:1-8.0 + +# Install the current .NET STS release on top of that +COPY --from=mcr.microsoft.com/dotnet/sdk:9.0 /usr/share/dotnet /usr/share/dotnet + +# Finally install the most recent .NET 10.0 preview using the dotnet-install script +COPY --from=mcr.microsoft.com/dotnet/nightly/sdk:10.0.100-rc.1 /usr/share/dotnet /usr/share/dotnet