Skip to content

Add Dockerfile for containerizing#242

Draft
georgemjohnson11 wants to merge 1 commit intoFYNCH-BIO:masterfrom
georgemjohnson11:containerize-evolver
Draft

Add Dockerfile for containerizing#242
georgemjohnson11 wants to merge 1 commit intoFYNCH-BIO:masterfrom
georgemjohnson11:containerize-evolver

Conversation

@georgemjohnson11
Copy link
Copy Markdown

@georgemjohnson11 georgemjohnson11 commented Sep 7, 2022

Update README.md to include installation, building, and execution instructions
Explain briefly x11 driver requirements

What? Why?

Add the ability to run a containerized application for portability and reusability of application

Changes proposed in this pull request:

  • Add the ability to run a containerized application for portability and reusability of application
  • Update documentation README appropriately

Checks

  • [X ] Updated documentation.
  • [X ] Follows 7 rules of great commit messages. For most PRs a single commit should suffice, in some cases multiple topical commits can be useful. During review it is ok to see tiny commits (e.g. Fix reviewer comments), but right before the code gets merged to master or rc branch, any such commits should be squashed since they are useless to the other developers. Definitely avoid merge commits, use rebase instead.
  • [X ] Follows the Google Style Guide.

Any screenshots or GIFs?

Issue Number: #217

Update README.md to include installation,
building, and execution instructions
Explain briefly x11 driver requirements
Comment thread README.md
Windows, can install [Cygwin](https://x.cygwin.com/) with additional configuraiton [here](https://www.kombitz.com/2020/01/31/how-to-configure-cygwin-x-for-remote-connection/)
A restart may be needed after installation, but a test container can be ran via:
```bash
docker run -p 1212:1212 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY:0 nonasoftware/evolver-electron:latest
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be changed, but just wanted a registry to store the image. I also have some Github Actions scripts I can add in to auto build and upload on PRs, manually, and/or on commit to master

Comment thread Dockerfile
COPY . .
RUN yarn --network-timeout 100000

EXPOSE 1212
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need to expose more ports to allow communication like 8081 or the environmental variable ${PORT} could be handled with the ARG/ENV Dockerfile annotations

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should only need a single exposed port to talk to the server on the RPi. The DPU/calibrations scripts that get kicked off via the GUI communicate with the RPi through the same port (<evolver_ip>:8081 by default). The GUI also needs to be able to access the file system of the machine its running on and any mounted drives.

Locations of python scripts being run:
https://github.com/FYNCH-BIO/evolver-electron/blob/master/app/main.dev.js#L85
https://github.com/FYNCH-BIO/evolver-electron/blob/master/app/main.dev.js#L118

And the relevant DPU scripts which are run:
https://github.com/FYNCH-BIO/dpu/blob/master/experiment/template/eVOLVER.py
https://github.com/FYNCH-BIO/dpu/blob/master/calibration/calibrate.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants