Skip to content

Commit 85193bd

Browse files
fix: ensure workspace ownership for vscode user in coder (#419)
* fix: remove unnecessary coder binary move step in deployment workflow * fix: ensure workspace ownership for vscode user in coder Fixes npm and git permission errors by setting correct ownership of the workspace directory before running any commands. Changes: - Added chown to fix workspace ownership in startup script - Configured git safe.directory to prevent dubious ownership warnings - Removed container user override (run as root, fix permissions) Resolves: - npm EACCES permission denied errors - git dubious ownership warnings - IDE file write permission issues --------- Co-authored-by: Mohsin Hashmi <mhashmi@wiser.com>
1 parent b0a1223 commit 85193bd

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

.coder/template.tf

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ resource "coder_agent" "main" {
156156
157157
echo "🚀 Starting SimpleAccounts-UAE workspace..."
158158
159+
# Fix workspace directory ownership for vscode user (runs as root first)
160+
# This ensures npm, git, and IDE tools work correctly
161+
echo "🔧 Fixing workspace permissions..."
162+
if [ -d /workspaces/SimpleAccounts-UAE ]; then
163+
chown -R vscode:vscode /workspaces/SimpleAccounts-UAE 2>/dev/null || true
164+
# Configure git to trust this directory (prevents dubious ownership warning)
165+
su vscode -c "git config --global --add safe.directory /workspaces/SimpleAccounts-UAE" 2>/dev/null || true
166+
fi
167+
159168
# Wait for PostgreSQL
160169
echo "⏳ Waiting for PostgreSQL..."
161170
timeout 60 bash -c 'until pg_isready -h db -p 5432 -U simpleaccounts -q; do sleep 1; done' || echo "⚠️ PostgreSQL timeout"
@@ -171,6 +180,7 @@ resource "coder_agent" "main" {
171180
echo "📦 Cloning repository..."
172181
git clone ${data.coder_parameter.git_clone_url.value} /workspaces/SimpleAccounts-UAE || echo "⚠️ Clone failed, may already exist"
173182
cd /workspaces/SimpleAccounts-UAE
183+
chown -R vscode:vscode /workspaces/SimpleAccounts-UAE 2>/dev/null || true
174184
else
175185
echo "✅ Repository already cloned"
176186
cd /workspaces/SimpleAccounts-UAE
@@ -264,10 +274,6 @@ resource "docker_container" "workspace" {
264274

265275
hostname = "simpleaccounts-dev"
266276

267-
# Run as vscode user (UID 1000, GID 1000) to match devcontainer.json remoteUser setting
268-
# This ensures VS Code/Cursor can create .vscode-server directories without permission issues
269-
user = "vscode:vscode"
270-
271277
# Resource limits: 2 CPU, 4GB RAM
272278
memory = 4096 # 4GB
273279
# cpus = 2.0 # DISABLED: Causes provider panic (interface conversion: interface {} is string, not float32) in kreuzwerker/docker v3.6.2

0 commit comments

Comments
 (0)