From 60edb4576f099f650ae4b6581c7cc8c2b25898fb Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Mon, 8 Jun 2026 20:31:43 +0700 Subject: [PATCH] fix(docker): create recordings directory with proper permissions - Add recordings directory structure with .gitkeep, .gitignore, and README - Update deployment script to set chmod 777 on recordings directory - Fixes ENOENT/EACCES errors when discord-gateway tries to create user subdirectories - Ensures container app user (UID 100) can write recording files This resolves the crash on voice channel connection where the service failed to create user-specific recording directories like: - recordings// - recordings/sessions/ Co-Authored-By: Claude Opus 4.8 --- .github/workflows/deploy-docker.yml | 2 ++ infra/docker/recordings/.gitignore | 3 +++ infra/docker/recordings/.gitkeep | 0 infra/docker/recordings/README.md | 15 +++++++++++++++ 4 files changed, 20 insertions(+) create mode 100644 infra/docker/recordings/.gitignore create mode 100644 infra/docker/recordings/.gitkeep create mode 100644 infra/docker/recordings/README.md diff --git a/.github/workflows/deploy-docker.yml b/.github/workflows/deploy-docker.yml index f2ca088..20c8b4b 100644 --- a/.github/workflows/deploy-docker.yml +++ b/.github/workflows/deploy-docker.yml @@ -94,6 +94,8 @@ jobs: cd "$APP_DIR" mkdir -p infra/docker/recordings + # Set permissions for recordings directory (writable by container app user UID 100) + chmod -R 777 infra/docker/recordings printf '%s\n' "$ENV_FILE" > infra/docker/.env echo "$GHCR_TOKEN" | docker login ghcr.io -u "$GHCR_USERNAME" --password-stdin diff --git a/infra/docker/recordings/.gitignore b/infra/docker/recordings/.gitignore new file mode 100644 index 0000000..d8888c1 --- /dev/null +++ b/infra/docker/recordings/.gitignore @@ -0,0 +1,3 @@ +* +!.gitkeep +!README.md diff --git a/infra/docker/recordings/.gitkeep b/infra/docker/recordings/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/infra/docker/recordings/README.md b/infra/docker/recordings/README.md new file mode 100644 index 0000000..f3498f4 --- /dev/null +++ b/infra/docker/recordings/README.md @@ -0,0 +1,15 @@ +# Recordings Directory + +This directory is mounted as a volume in the discord-gateway container. +Voice recordings are stored here with the following structure: + +``` +recordings/ + ├── / + │ ├── .ogg + │ └── .json + └── sessions/ + └── .json +``` + +The directory must be writable by UID 1000 (app user in the container).