GithubHelp home page GithubHelp logo

Docker about kiri HOT 14 CLOSED

leoheck avatar leoheck commented on August 25, 2024
Docker

from kiri.

Comments (14)

TadeasPilar avatar TadeasPilar commented on August 25, 2024

from kiri.

leoheck avatar leoheck commented on August 25, 2024

I don't think it was hard. My image and script also allows you to open GUI's too. The run script works with the already created container. You don't have to rebuild the container everytime to put your files in it. I also shared the existing image on docker hub.

This is my first approach tho. It can be improved with time.

I don't think it takes 20 minutes to build. But I have to evaluate this closely to have a better idea.

You said it is very excessive. Very excessive in which sense?

Ah, by the way, thank you for the feedback @TadeasPilar

from kiri.

TadeasPilar avatar TadeasPilar commented on August 25, 2024

from kiri.

leoheck avatar leoheck commented on August 25, 2024

For this, GUIs aren't all that useful.

Sure, I totally agree with you. In this case, it looks like it needs 2 different images.
One that is as light as possible, to download/build fast.

Also, there is this case that I am creating initially, that allows me to debug and test things and evaluate this Docker thing, easily.

I think I will also provide this second image for the reason you are describing, and doing the same as you, using the kicad_auto image, to make other tools available.

My biggest issue right now, is the need for active server running in the background.

It does not need that.. you can disable the server with the parameter -l to not launch the server in the end. There is also an option for Kiri to archive the generated files. This option, if I am not mistaken, generates a package with the webserver script inside...

So, if you unpack the files on another computer, you can start the server quickly by running the script that is already inside the folder

from kiri.

leoheck avatar leoheck commented on August 25, 2024

Ah, for reviewing schematics of a project using Kicad 6, kiri needs GUI tools, since it plots schematics using xdotool once there are no tools that can do the same with the command line like plotgitsh does for Kicad 5

from kiri.

leoheck avatar leoheck commented on August 25, 2024

@TadeasPilar I figured out that my current Dockerfile was very badly optimized and the image was consuming a lot of space. Now it is a bit better. Also, I have removed some unnecessary dependencies like wxpython* that are not really necessary for command line operation. Feel free to check my docker file for the currently required dependencies. i

For instance, these lines are not necessary to run kiri, specially of command line only is used.

#Downgrade libraries to allow installing libgtk-3-dev
RUN apt-get install libepoxy0=1.5.5-1 libatspi2.0-0=2.38.0-4 libatk1.0.0=2.36.0-2 libatk-bridge2.0-0=2.38.0-1 -y --allow-downgrades
RUN apt-get install pkg-config libgtk-3-dev -y
RUN pip3 install --no-compile --verbose "wxpython>=4.0.7"

I still did not try to generate an image using ghcr.io/inti-cmnb/kicad6_auto:dev as the base image. But it may happen eventually, so all command line tools can be available easily.

from kiri.

leoheck avatar leoheck commented on August 25, 2024

The compressed image, if someone wants to donwload, is 1GB now, https://hub.docker.com/r/leoheck/kiri/tags

Without compression it takes 3GB

from kiri.

leoheck avatar leoheck commented on August 25, 2024

It is taking 8 minutes to build the image on my machine now.
It is using 2.84 GB.
And the compressed form, online, is 982.15 MB already.

I think I can still trim it a bit more...

from kiri.

leoheck avatar leoheck commented on August 25, 2024

@TadeasPilar I added a new Docker file with kicad_auto tools. This one https://github.com/leoheck/kiri-docker/blob/main/Dockerfile_kicad-auto.

Example of usage, using pcbdraw:

./kiri /home/lheck/Documents/assoc-board -i leoheck/kiri:test -d -c "pcbdraw board.kicad_pcb board.svg"

from kiri.

edahlseng avatar edahlseng commented on August 25, 2024

This looks interesting, maybe the Docker image could be used to support a GitHub Action that could be easily shared?

from kiri.

leoheck avatar leoheck commented on August 25, 2024

Yeah, that would be interesting too.

from kiri.

Conor-Burns avatar Conor-Burns commented on August 25, 2024

I'm also interested in the GitHub action. That would be a great feature!
Will try to experiment a bit.

from kiri.

leoheck avatar leoheck commented on August 25, 2024

Nice, I did not have time yet to check this. But in the past, I was using some existing actions to achieve that. So, I stopped doing that at that time because I could not find an easy way to host kiri's website while browsing an Issue or PR, for instance. Yes, I could send data back to the Issue/PR, and I also created a flag to easily archive the run ( -x|--archive) and an easy way to review the results (https://github.com/leoheck/kiri#archiving-generated-files) without having kiri installed locally, but I really wanted to have a way to use the web service on the fly. Today I may find something. I will check what I can do but help on that can be used too. Thanks you.

from kiri.

leoheck avatar leoheck commented on August 25, 2024

Closing this, please open it again if needed.

from kiri.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.