Comments (14)
from kiri.
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.
from kiri.
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.
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.
@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.
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.
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.
@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.
This looks interesting, maybe the Docker image could be used to support a GitHub Action that could be easily shared?
from kiri.
Yeah, that would be interesting too.
from kiri.
I'm also interested in the GitHub action. That would be a great feature!
Will try to experiment a bit.
from kiri.
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.
Closing this, please open it again if needed.
from kiri.
Related Issues (20)
- Fix dependency installation for first time installation HOT 1
- Installing kiri on Ubuntu (Command 'kiri' not found, did you mean:) HOT 2
- feature request: highlight pages and layers that have changes HOT 9
- Issues reported on KiBot integration HOT 3
- Specifing *.kicad_pro file as parameter seems not to work HOT 18
- WLS2 Error on missing submodules.kicad_parser HOT 1
- Hierarchical Schematic Sheets HOT 12
- KiCAD 8.0 Support HOT 4
- Cannot view board layout HOT 17
- Unable to view schematic or layout diff HOT 6
- KiCad 8 support HOT 2
- Layout View is not showing my board HOT 3
- Not showing all pages and no layout HOT 18
- Unable to view schematic or layout diff (kiri: line 311: printf) HOT 18
- root index.html redirects to absolute path HOT 3
- Python port RFC HOT 1
- PCB cutoff when past A4 page borders HOT 4
- Update install_plugin.sh for KiCad 7.0 HOT 4
- Toggle between new and old view HOT 15
- svg from plotgitsch in wrong directory HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kiri.