# Docker image: included software

**URL:** https://community.silverbullet.md/t/docker-image-included-software/1931
**Category:** Ideas
**Created:** [March 8, 2025, 9:27am UTC](https://community.silverbullet.md/t/docker-image-included-software/1931 "2025-03-08T09:27:35Z")
**Posts on this page:** 5
**Page:** 3

<div class="post-metadata">

### Author: ![MatthiasBenaets](https://community.silverbullet.md/letter_avatar_proxy/v4/letter/m/ecb155/32.png) [@MatthiasBenaets](https://community.silverbullet.md/u/MatthiasBenaets)
#### Post date: [June 12, 2025, 1:26pm UTC](https://community.silverbullet.md/t/docker-image-included-software/1931/41 "2025-06-12T13:26:22Z")

</div>

Thanks Zef. Great implementation.

FWIW: `SB_APT_PACKAGES="pandoc ripgrep"` does not work for me, since it takes them literally as `"pandoc` and `ripgrep"`. So I used `SB_APT_PACKAGES=pandoc ripgrep`.

---

<div class="post-metadata">

### Author: ![zef](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zef/32/7_2.png) [@zef](https://community.silverbullet.md/u/zef)
#### Post date: [June 12, 2025, 4:52pm UTC](https://community.silverbullet.md/t/docker-image-included-software/1931/42 "2025-06-12T16:52:21Z")

</div>

Right yes, I suppose this depends on how and where you enter it. In my compose file I also had to enter it without quotes.

---

<div class="post-metadata">

### Author: ![zef](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zef/32/7_2.png) [@zef](https://community.silverbullet.md/u/zef)
#### Post date: [September 22, 2025, 4:53pm UTC](https://community.silverbullet.md/t/docker-image-included-software/1931/43 "2025-09-22T16:53:16Z")

</div>

Ok, time to bring up this topic again now that I rewrote the backend in Go and there’s no longer a runtime dependency on Deno. This reopens the idea of building the main docker image on top of Alpine, a much smaller base image and allowing for much faster additional package installation.

My question is: how heavily do people depend on CONTAINER\_BOOT page and the legacy SB\_APT\_PACKAGES environment variables to install additional packages into the docker image? Would adapting these to use Alpine packages be a problem? If so, I may have to go with dual flavor docker images: one based on ubuntu (legacy) and one on alpine (new). If not, I’ll just swap out ubuntu for alpine and be done with it. Packages like [pandoc](https://pkgs.alpinelinux.org/package/edge/community/x86_64/pandoc-cli) and [ripgrep](https://pkgs.alpinelinux.org/package/edge/community/x86/ripgrep) seem to be available so this should be easy.

Let me know if there’s any vetoes against doing this.

---

<div class="post-metadata">

### Author: ![PowerUser](https://community.silverbullet.md/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@PowerUser](https://community.silverbullet.md/u/PowerUser)
#### Post date: [September 23, 2025, 1:46am UTC](https://community.silverbullet.md/t/docker-image-included-software/1931/44 "2025-09-23T01:46:29Z")

</div>

I personally don’t use the docker images, but if I did, I wouldn’t be using either of these features. You could offer a similar feature in the new container version if you wanted to give people an on-ramp to the new images. Alternatively you could make a slim base image and then have people extend it by making their own Dockerfile and building it (it’s pretty straight forward with docker-compose).

On the main topic of this thread, I think you should probably make the default/recommended docker image have the minimum dependencies for SB to run. Aside from faster downloads, this also makes it easier for package maintainers to build reliable packages for SB.

You could also choose to offer separate “full” and “slim” version tags, so people can build their own containers from a minimal base image, while having a full-fat option for people who just want a turnkey docker image that has a all optional features.

---

<div class="post-metadata">

### Author: ![zef](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zef/32/7_2.png) [@zef](https://community.silverbullet.md/u/zef)
#### Post date: [September 23, 2025, 8:04pm UTC](https://community.silverbullet.md/t/docker-image-included-software/1931/45 "2025-09-23T20:04:16Z")

</div>

I’ve now swapped the base image for Alpine. It went from a about 300MB to 50MB

[Previous page](https://community.silverbullet.md/t/docker-image-included-software/1931.md?page=2)
