{"id":25610555,"url":"https://github.com/richarah/dorothy","last_synced_at":"2026-02-15T14:32:38.178Z","repository":{"id":59105115,"uuid":"534687696","full_name":"richarah/dorothy","owner":"richarah","description":"Mozart-Oz + OPI in Docker","archived":false,"fork":false,"pushed_at":"2022-09-18T09:38:34.000Z","size":73,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T15:52:05.722Z","etag":null,"topics":["compatibility","container","container-image","containerization","containers","docker","docker-image","dockerfile","emacs","gui","linux","macos","macosx","mozart","oz","x11"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richarah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-09T14:57:19.000Z","updated_at":"2024-09-20T15:30:23.000Z","dependencies_parsed_at":"2023-01-18T13:15:40.565Z","dependency_job_id":null,"html_url":"https://github.com/richarah/dorothy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/richarah/dorothy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richarah%2Fdorothy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richarah%2Fdorothy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richarah%2Fdorothy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richarah%2Fdorothy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richarah","download_url":"https://codeload.github.com/richarah/dorothy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richarah%2Fdorothy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29481395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T11:35:25.641Z","status":"ssl_error","status_checked_at":"2026-02-15T11:34:57.128Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compatibility","container","container-image","containerization","containers","docker","docker-image","dockerfile","emacs","gui","linux","macos","macosx","mozart","oz","x11"],"created_at":"2025-02-21T22:33:36.614Z","updated_at":"2026-02-15T14:32:38.161Z","avatar_url":"https://github.com/richarah.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dorothy\nDorothy (named after the protagonist of Frank Baum's Oz novels) is a Docker image for running Mozart-Oz and the OPI from within a container, either standalone or as part of a CDE (Containerised Development Environment) - e.g. using VSCode's [Remote - Containers](https://code.visualstudio.com/docs/remote/containers) extension.\n\n#### What it's for\n\nMozart has been known to suffer serious compatibility flaws on certain systems - notably code that compiles and runs flawlessly on other machines failing to compile on those running non-Debianesque Linux distros or macOS.\n\nBy packaging Mozart within the self-contained, standardised environment of a Docker container, the Dorothy project aims to resolve these machine- and platform-specific issues.\n\n#### Mac users: Apple silicon and X11 issues\n\nDue to trouble interfacing with X11 on machines powered by Apple silicon, the TUI (Text User Interface) version of Dorothy is recommended for Mac users experiencing issues with the X11 GUI.\n\n\n---\n\n\n## Pull and run Docker image\n\n#### Graphical User Interface (X11, Linux only)\n\n```\n# Pull image and edit tag\ndocker pull ghcr.io/richarah/dorothy-x11-gui:latest \u0026\u0026 \\\ndocker tag ghcr.io/richarah/dorothy-x11-gui dorothy-x11-gui\n\n# Set xauth permissions and run Dorothy\nxhost +SI:localuser:root \u0026\u0026 \\\ndocker run \\\n--rm \\\n-it \\\n-e DISPLAY=:0 \\\n-e XAUTHORITY=/tmp/.docker.xauth \\\n-v /tmp/.X11-unix:/tmp/.X11-unix \\\n-v /tmp/.docker.xauth:/tmp/.docker.xauth:rw \\\n-v /home/$USER:/docker \\\ndorothy-x11-gui\n```\n\n#### Text User Interface (Linux \u0026 macOS)\n```\n# Pull image and edit tag\ndocker pull ghcr.io/richarah/dorothy-tui:latest \u0026\u0026 \\\ndocker tag ghcr.io/richarah/dorothy-tui:latest dorothy-tui\n\n# Run (no X11 tinkering necessary)\ndocker run --rm -it -v /home/$USER:/docker dorothy-tui\n```\n\nFor those unfamiliar with the Emacs editor or text-based user interfaces in general, the following documentation may be helpful:\n\n[Official GNU Emacs Manual](https://www.gnu.org/software/emacs/manual/emacs.html)\n\n[Oz-Emacs Cheat Sheet ](https://github.com/richarah/oz-tui-cheat-sheet) (work in progress)\n\n#### A note on {Browse} and graphics on Dorothy TUI\n\nDue to the TUI version of Dorothy omitting X11, code that requires a window manager or makes use of graphics libraries may not run as intended. Thus, e.g. instead of `{Browse}` , text-mode users are encouraged to use alternatives such as `{Show}`.\n\n\n\n## Set an alias (optional)\n\n**Will I have to enter that obscenely long `docker run` command every time I want Oz?**\n\nNot necessarily: the process can be simplified by setting an `alias`, a shortcut that references a command - in this case, our `docker run` command and its parameters.\n\nAfter executing the following commands, you should be able to start Dorothy simply by entering `dorothy` in the command line.\n\nIf the changes do not take effect immediately, please restart the machine and try again.\n\n#### X11 GUI (Linux)\n\n```bash\necho \"alias dorothy='xhost +SI:localuser:root \u0026\u0026 docker run --rm -it -e DISPLAY=:0 -e XAUTHORITY=/tmp/.docker.xauth -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.docker.xauth:/tmp/.docker.xauth:rw -v /home/$USER:/docker dorothy-x11-gui'\" \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n```\n\n#### Emacs TUI (Linux and older macOS)\n\n```bash\necho \"alias dorothy='docker run --rm -it -v /home/$USER:/docker dorothy-tui'\" \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n```\n\n#### Emacs TUI (macOS Catalina and newer)\n\n```bash\necho \"alias dorothy='docker run --rm -it -v /home/$USER:/docker dorothy-tui'\" \u003e\u003e ~/.zshrc\nsource ~/.zshrc\n```\n\n## Modify bind mounts (optional)\n\nBy default, Dorothy binds the user's home directory to the `/docker` directory within the container. However, some users may wish to append additional bind mounts or forgo these altogether.\n\nAdditional bind mounts may be attached using the `-v` flag, replacing `/path/to/dir` with the path to the host directory one wishes to mount, and `/docker` with the path to access this directory from within the container.\nThe syntax is as follows:\n\n```\n-v /path/to/host/dir:/path/to/container/dir\n```\n\n\n---\n\n\n## Building Dorothy\n\nBefore building, please ensure that you have Git and Docker installed on your machine.\n\nNext, clone and `cd` into the repository:\n\n```\ngit clone https://github.com/richarah/dorothy.git\ncd dorothy\n```\n\nBuild the `dorothy-common` image, forming the basis for both the GUI and textmode versions:\n```\ndocker-compose build common\n```\n\nThe final image(s) may now be built with `docker-compose`:\n```\n# Textmode\ndocker-compose build tui\n# X11 GUI\ndocker-compose build x11-gui\n```\n#### Non-x64 architectures\nWhen building for architectures other than the default `x64`, please set the `ARCH` environment variable to suit your machine's architecture, else the software may not work as intended.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricharah%2Fdorothy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricharah%2Fdorothy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricharah%2Fdorothy/lists"}