diff --git a/docker/js/.zshrc b/docker/js/.zshrc
new file mode 100644
index 0000000..1e34522
--- /dev/null
+++ b/docker/js/.zshrc
@@ -0,0 +1,19 @@
+# The following lines were added by compinstall
+
+zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
+zstyle :compinstall filename '~/.zshrc'
+
+setopt INC_APPEND_HISTORY SHARE_HISTORY AUTO_PUSHD PUSHD_IGNORE_DUPS
+setopt PROMPTSUBST
+
+autoload -Uz compinit
+compinit
+# End of lines added by compinstall
+# Lines configured by zsh-newuser-install
+HISTFILE=~/.histfile
+HISTSIZE=1000000
+SAVEHIST=1000000
+# End of lines configured by zsh-newuser-install
+
+bindkey -d
+bindkey -v
diff --git a/docker/js/docker-compose.yml b/docker/js/docker-compose.yml
index 4dab496..58b64c6 100644
--- a/docker/js/docker-compose.yml
+++ b/docker/js/docker-compose.yml
@@ -9,4 +9,4 @@ services:
       - ./tmp/cache/js/root-cache:/root/.cache:rw
       - ./tmp/cache/js/root-yarn:/root/.yarn:rw
       - ./docker/js:/app/docker/js:ro
-      - ./tmp/cache/js:/app/tmp/cache/js:ro
+      - ./tmp/cache/js:/app/tmp/cache/js:rw
diff --git a/docker/js/init.sh b/docker/js/init.sh
index 08c84fa..1917a1a 100644
--- a/docker/js/init.sh
+++ b/docker/js/init.sh
@@ -1,5 +1,7 @@
 corepack enable
 corepack install
 # yarn init -2
+ln -sf /app/docker/js/.zshrc ~/.zshrc
+ln -sf /app/tmp/cache/js/.histfile ~/.histfile
 export EDITOR=vim
 exec /usr/bin/zsh -l