# There's a Docker image available

**URL:** <https://org-roam.discourse.group/t/theres-a-docker-image-available/331>\
**Category:** How To\
**Created:** [June 10, 2020, 9:03pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331 "2020-06-10T21:03:34Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![JeffBrown](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/jeffbrown/32/254_2.png) [@JeffBrown](https://org-roam.discourse.group/u/JeffBrown)\
**Post date:** [June 10, 2020, 9:03pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/1 "2020-06-10T21:03:34Z")

</div>

I made a Docker image for `org-roam`, which people might find useful in case they have as much difficulty as I did installing it (I use NixOS).

The [image on DockerHub](https://hub.docker.com/repository/docker/jeffreybbrown/org-roam/) can be downloaded by running

```bash
docker pull jeffreybbrown/org-roam:latest

```

The [code that built it is on Github](https://github.com/JeffreyBenjaminBrown/docker-org-roam). The README for that describes one way to use the image.

---

<div class="post-metadata">

**Author:** ![leekeifon](https://avatars.discourse-cdn.com/v4/letter/l/db5fbb/32.png) [@leekeifon](https://org-roam.discourse.group/u/leekeifon)\
**Post date:** [June 12, 2020, 6:02pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/2 "2020-06-12T18:02:19Z")

</div>

Could you share your x11 display screen shot？Right now l am also using Ubuntu’s docker for the org roam. But I tend to write note via ssh rather than using the x11 display. Using mere ssh seems more portable?

---

<div class="post-metadata">

**Author:** ![JeffBrown](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/jeffbrown/32/254_2.png) [@JeffBrown](https://org-roam.discourse.group/u/JeffBrown)\
**Post date:** [June 12, 2020, 8:55pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/3 "2020-06-12T20:55:48Z")

</div>

Using ssh sounds good! How do you do it?

Here’s a shot demonstrating that the latest version uses UTF8, hence can show characters from Spanish not available otherwise. The last line is due to `tmux` (it shows that I’m in the first of three windows, all of which are called “bash”) and is outside of the Docker container.

 ![pic-20200612-154551](https://global.discourse-cdn.com/free1/uploads/orgroam/original/1X/af37f0ff9621c46493f9cac057bd57949b548b88.png)

---

<div class="post-metadata">

**Author:** ![matthew-piziak](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/matthew-piziak/32/189_2.png) [@matthew-piziak](https://org-roam.discourse.group/u/matthew-piziak)\
**Post date:** [June 20, 2020, 1:50am UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/4 "2020-06-20T01:50:14Z")

</div>

@JeffBrown I use the following Nix expressions to provide packages for `org-roam` and `org-roam-server`. If you install Emacs with NixOS these should be useful for you. Enjoy.

```auto
{ pkgs }:
let
  org-roam-src = pkgs.fetchFromGitHub {
    owner = "org-roam";
    repo = "org-roam";
    rev = "408e38f8bafe9d023941c33230ab150618166108";
    sha256 = "1fix3h87wz56v94l88cpxazfz16bhlkcb1kgrmnjr9axajjm8wqj";
    # date = 2020-06-19T18:27:14+08:00;
  };
  org-roam = pkgs.emacsPackages.melpaBuild rec {
    pname = "org-roam";
    version = "1.1.1";
    src = org-roam-src;
    recipe = pkgs.writeText "recipe" ''
      (org-roam
      :repo "org-roam/org-roam"
      :fetcher github
      :files ("org-roam-buffer.el" "org-roam-capture.el" "org-roam-compat.el"
              "org-roam-completion.el" "org-roam-dailies.el" "org-roam-db.el"
              "org-roam-dev.el" "org-roam-doctor.el" "org-roam-graph.el" "org-roam-macs.el"
              "org-roam-protocol.el" "org-roam.el"))
    '';
  };
  org-roam-server-src = pkgs.fetchFromGitHub {
    owner = "org-roam";
    repo = "org-roam-server";
    rev = "d418c632e34951d844a408ed703bb2029fdd73f2";
    sha256 = "1qjrnabkq10fa1k9r45dcdnmhavphdv100zjx4yzgwq35d0nyl2k";
    # date = 2020-06-08T18:47:21+03:00;
  };
  org-roam-server = pkgs.emacsPackages.melpaBuild rec {
    pname = "org-roam-server";
    version = "1.1.1";
    src = org-roam-server-src;
    recipe = pkgs.writeText "recipe" ''
      (org-roam-server
      :repo "matthew-piziak/org-roam-server"
      :fetcher github
      :files ("org-roam-server.el" "assets" "index.html"))
    '';
  };
in {
  org-roam-packages = [org-roam org-roam-server]
    ++ (with pkgs.emacsPackagesNg; [emacsql-sqlite3 simple-httpd]);
}

```

---

<div class="post-metadata">

**Author:** ![jethro](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@jethro](https://org-roam.discourse.group/u/jethro)\
**Post date:** [June 20, 2020, 10:21am UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/5 "2020-06-20T10:21:28Z")

</div>

This should be useful in CI 😃 I use NixOS, and should really sit down to write the expressions for different versions of emacs for testing.

---

<div class="post-metadata">

**Author:** ![matthew-piziak](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/matthew-piziak/32/189_2.png) [@matthew-piziak](https://org-roam.discourse.group/u/matthew-piziak)\
**Post date:** [June 20, 2020, 4:41pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/6 "2020-06-20T16:41:11Z")

</div>

My all means reach out if you have questions. 🙂

---

<div class="post-metadata">

**Author:** ![JeffBrown](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/jeffbrown/32/254_2.png) [@JeffBrown](https://org-roam.discourse.group/u/JeffBrown)\
**Post date:** [June 20, 2020, 7:22pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/7 "2020-06-20T19:22:49Z")

</div>

@matthew-piziak You don’t use a Nix overlay for Emacs? That would be good news for me, as I could not for the life of me understand overlays.

---

<div class="post-metadata">

**Author:** ![matthew-piziak](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/matthew-piziak/32/189_2.png) [@matthew-piziak](https://org-roam.discourse.group/u/matthew-piziak)\
**Post date:** [June 21, 2020, 8:19pm UTC](https://org-roam.discourse.group/t/theres-a-docker-image-available/331/8 "2020-06-21T20:19:03Z")

</div>

Indeed I don’t. You’re not alone in finding them confusing. I believe that for single-user configurations, overrides are better.

I explain my reasoning here: [https://discourse.nixos.org/t/why-are-overlays-better-than-pkgoverrides/7052/11](https://discourse.nixos.org/t/why-are-overlays-better-than-pkgoverrides/7052/11)
