Fork me on GitHub
#cider
<
2023-10-08
>
Carsten Behring17:10:41

Hi all, I am lately working a lot in a "Cider in Docker container running in remote host" scenario. In this case the existing Cider documentation for working in remote hosts (and the existing cider functionality) commes to its limits: https://docs.cider.mx/cider/basics/up_and_running.html#working-with-remote-hosts I am wondering , if we could the docu in some form, as it is for me a more and more common szenario.

vemv18:10:53

Thanks for looking into it! Let us know which specific parts are lacking Note that there are "local path translations" as well, often very handy for Docker development (locally, at the very least) https://docs.cider.mx/cider/config/basic_config.html#translate-file-paths

vemv18:10:17

...Earlier this summer I checked out carefully both local Docker development, and tramp development. The two dirs we have here have reproducible instructions - feel free to propose a new similar dir if you feel it's its own category https://github.com/clojure-emacs/cider/tree/master/dev For both cases, I fixed performance and nagivational concerns. If anything still feels off, do raise an issue :)

Carsten Behring18:10:31

Maybe firstly distinguish the documentation in some form in this three "remote" scenarios: (which all three assume a "Local emacs" and editing files using TRAMP) 1. Connect local Emacs to a Nrepl process running in a container running on localhost 2. Connect local Emacs to a Nrepl process running on a remote host 3. Connect local Emacs to a Nrepl process running in a container in a remote host Maybe then pointing out that Cider "remote support" was mainly made and is tested in scenario 2) Using "ssh and bash and other magic" we can partly make all 3 scenarios look like 2) from the cider point of view, so they might work alreday. Addionally we could as well mention that remote can mean as well "run emacs inside ssh". This is quite simple, as this is not really remote, from the Emacs/Cider point of view. (so works always) To talk about further "solutions" gets then a bit complex, I use for example "devcontainer" in my scenario 3), which is docker at the end , but uses a specific cli tools to control the Docker process

Carsten Behring19:10:31

Regarding the scenario 3) which I use, a "setup" is a bit more complex, as it requires "setup" of the remote server, like the devcontainer-cli need to be installed on it.

vemv19:10:30

> Maybe firstly distinguish the documentation in some form in this three "remote" scenarios: SGTM > Maybe then pointing out that Cider "remote support" was mainly made and is tested in scenario 2) Maybe, maybe not. I'd be happier with comprehensive issue reports (one per problem) and get them solved :) > Addionally we could as well mention that remote can mean as well "run emacs inside ssh". SGTM > To talk about further "solutions" gets then a bit complex, I use for example "devcontainer" in my scenario 3), which is docker at the end , but uses a specific cli tools to control the Docker process I'd have to learn more about devcontainers to have an opinion. If it's too different from 3, it SGTM to have a "4". (and it would be extremely nice to have a reproducible example under https://github.com/clojure-emacs/cider/tree/master/dev)

Carsten Behring20:10:05

I made a attempt to rather general describe the "remote scenarios" as part of the cider docu: https://github.com/clojure-emacs/cider/pull/3505 I left it very general on purpose.

👍 1
vemv20:10:43

Read , seems a good start to me!

Carsten Behring18:10:31

Maybe firstly distinguish the documentation in some form in this three "remote" scenarios: (which all three assume a "Local emacs" and editing files using TRAMP) 1. Connect local Emacs to a Nrepl process running in a container running on localhost 2. Connect local Emacs to a Nrepl process running on a remote host 3. Connect local Emacs to a Nrepl process running in a container in a remote host Maybe then pointing out that Cider "remote support" was mainly made and is tested in scenario 2) Using "ssh and bash and other magic" we can partly make all 3 scenarios look like 2) from the cider point of view, so they might work alreday. Addionally we could as well mention that remote can mean as well "run emacs inside ssh". This is quite simple, as this is not really remote, from the Emacs/Cider point of view. (so works always) To talk about further "solutions" gets then a bit complex, I use for example "devcontainer" in my scenario 3), which is docker at the end , but uses a specific cli tools to control the Docker process