https://github.com/dotmpe/docker-arduino
Finally an arduino toolchain with CLI, and in a container.
https://github.com/dotmpe/docker-arduino
alpine arduino docker
Last synced: about 1 month ago
JSON representation
Finally an arduino toolchain with CLI, and in a container.
- Host: GitHub
- URL: https://github.com/dotmpe/docker-arduino
- Owner: dotmpe
- Created: 2019-12-12T17:32:27.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-17T15:02:22.000Z (over 6 years ago)
- Last Synced: 2025-02-22T14:49:56.648Z (over 1 year ago)
- Topics: alpine, arduino, docker
- Language: Shell
- Size: 44.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
Finally a CLI for the Arduino toolchain, and in a container too.
[  ](https://cloud.docker.com/repository/docker/dotmpe/arduino) [](https://hub.docker.com/r/dotmpe/arduino/)
### Info
Testing some base-images for different Linux distros, maybe to pick one
already cached by docker. Though with Alpine there is little need to fuss about
size: just a few 10s of megabytes.
The AVR-GCC toolchain does not run with Musl libc, so the official Alpine is
out. But there is ``frolvlad/alpine-glibc`` [github](https://github.com/Docker-Hub-frolvlad/docker-alpine-glibc).
There are some missing packages that arduino installs itself (into ``~/.arduino15/packages/builtin/tools``): ctags, serial-discovery. This is also where the
support for different boards go. Like the ``~/Arduino`` folder (with libraries)
it is kept outside of the image (ie. in a volume).
#### ``:alpine`` [](https://microbadger.com/images/dotmpe/arduino:alpine "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/alpine/Dockerfile)
#### ``:minideb`` [](https://microbadger.com/images/dotmpe/arduino:minideb "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/minideb/Dockerfile)
#### ``:debian-slim`` [](https://microbadger.com/images/dotmpe/arduino:debian-slim "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/debian-slim/Dockerfile)
#### ``:debian`` [](https://microbadger.com/images/dotmpe/arduino:debian "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/debian/Dockerfile)
#### ``:ubuntu`` [](https://microbadger.com/images/dotmpe/arduino:ubuntu "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/ubuntu/Dockerfile)
#### ``:centos`` [](https://microbadger.com/images/dotmpe/arduino:centos "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/centos/Dockerfile)
#### ``:fedora`` [](https://microbadger.com/images/dotmpe/arduino:fedora "microbadger.com image metadata") [  ](https://github.com/dotmpe/docker-arduino/blob/master/fedora/Dockerfile)
Usage:
```
docker run -ti --rm --name arduino --device /dev/ttyUSB0:/dev/ttyUSB0 \
-v $HOME/.arduino15:/home/arduino/.arduino15 \
-v $HOME/Arduino:/home/arduino/Arduino \
dotmpe/arduino:alpine \
help
```
## Desiderata
The Alpine/glibc image is working for my AVR/Atmega328p needs so far. Every
package but curl and certificates has been removed from the images, idk. if
those (make, git) are needed somewhere.
The fedora and centos images have permission issues on the USB tty device, but
I'm not too experienced with RH-based OS; its probably some apparmor thing?
Maybe should add sudo, or cleanup sudoers stuff.
The Docker hub build is fairly long, would be nice to split up to branches.
And add version numbers to keep older versions.
Also Hub does not want to run tests the way I set it up now.
Might want to test with proper docker volumes iso. mounts.
Also up for build/test is a golang based install.
## Autobuilds
See [customized highlander-build hooks](https://github.com/dotmpe/docker-arduino/tree/master/hooks)
for tags.
The ``latest`` tag is put on the `Alpine` image.
## Docs
See [wiki](https://github.com/dotmpe/docker-arduino/wiki) at github, or local
``docs`` directory.