A collection of example configurations for running JetBrains IDEs (primarily IntelliJ IDEA Ultimate) inside Dev Containers.
Each sample builds on the previous one, progressing from a bare
Dockerfile to a fully configured devcontainer.json with plugins, editor settings, and persistent caches. The goal is that you should read through them in order and see what they demostrate and how some of these configurations can fit in your developer environment.
These cofigurations are meant to help you set up Remote Development environments with some best practices from JetBrains. They may also be used to run locally via JetBrains' Dev Container extension.
If you are running locally via Dev Containers, some of the configurations, such as pre-installing the IDE in the Docker iamge, are not necessary.
The samples are numbered to suggest a natural reading order, from simplest to most complete.
| # | Sample | What it demonstrates |
|---|---|---|
| 01 | base-dockerfile |
Minimal Ubuntu 24.04 image with OpenSSH. No IDE pre-installed — JetBrains handles IDE deployment at connect time or may be used with local IDE through Dev Containers |
| 02 | base-dockerfile-with-ide |
Same as above, plus downloads and installs IntelliJ IDEA Ultimate into the image so it's ready immediately. |
| 03 | base-dockerfile-with-ide-configs-and-devcontainer |
Combines a Dockerfile (with IDE) and a .devcontainer.json that configures plugins, editor settings, persistent volume mounts, and more. |
| 04 | base-container |
No Dockerfile at all — a pure .devcontainer.json that installs OpenSSH and configures it so JetBrains IDEs can connect to it. |
| 05 | base-container-with-ide-configs |
Extends sample 04 with full JetBrains IDE customizations: plugins, editor preferences, code style, auto-import, persistent caches, and index warm-up. |