PJUllrich

PJUllrich

Author of Building Table Views with Phoenix LiveView

A Devcontainer for Elixir

I built a devcontainer that makes it safe(-er) to run Claude Code in YOLO mode (--dangerously-skip-permissions) on Elixir&Phoenix projects and it comes with Tidewave built-in. It’s based on Anthropic’s reference but made safer and tailored to Elixir.

The container makes it safe(-er) to run Claude with --dangerously-skip-permissions by:

  • Restricting all outbound traffic to a domain allowlist via a strict network firewall using the battle-tested Squid proxy
  • Hiding sensitive files (e.g. .env) from Claude using file permissions, with Claude deny rules as a secondary safeguard.
    • These files and folders are simply empty in your devcontainer. No more uploading .env files to Claude by accident!
  • Isolating Claude state in a per-project .claude folder, separate from your host’s ~/.claude

It has a few quality-of-life features as well, like:

  • a Makefile with extensive commands to control the devcontainer (e.g. make dc.up|down|rebuild) and to start services in it (e.g. make dc.tidewave|server|claude)
  • Git and Git Worktree support, so you can run multiple Claude Code instances in parallel in the same container
  • Oh-my-Zsh with git status, tab completion, and fancy colors

Try it out here:

https://github.com/PJUllrich/devcontainer

Where Next?

Popular in Dev Env & Tools Top

AstonJ
How fast is your internet connection? (And how much do you pay?) You can test via www.speedtest.net and to embed results into your post...
New
Dusty
New England download page New England repo I am a long-time dark theme user, but I recently developed an interest in coding on a light ...
New
Cervajz
Code at the speed of thought Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It’s also open...
New
AstonJ
While on the theme of routers: Is your computer's internet connection wired or wireless? (Poll) Which router do you use? How do you se...
New
AstonJ
Not sure I’m going to upgrade myself yet, but curious what others think: How are you finding it for dev? What are your thoughts of it g...
New
AstonJ
I’ve been reinstalling macOS after trying out Tahoe, and when I went to migrate from a Time Machine backup I got an error I’ve not see be...
New
Onor.io
I apologize in advance if this has been suggested by others but here goes. Just today I was compiling some code and once again I’m prese...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 130579 1222
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New

We're in Beta

About us Mission Statement