A direct container as a program of pebble-tool.
The container provides you with an install of pebble-tool for you to use as a full environment. As such, it allows for everything you can think of to develope on pebble with the luxury of not actually having to install the sdk(unless you want to) in your local environment.
The entrypoint of the container is written for simple use of the pebble-tool:
ENTRYPOINT ["/usr/bin/python", "/tool/pebble.py"]
The container runs pebble-tool as the executable. As such, you need to download the sdk to a local directory if you want to use again. Do note, the container is running under a user:group = pebble:users. Meaning if you want to be able to download the sdk locally, you should make the directory mutable by the group users or accessible by others:
chmod g=rwx <chosen local dir> docker run -it \ -v <chosen local dir>:/home/pebble/.pebble-sdk \ abaez/pebble sdk install latest
Afterwards, if you want to do a task on a project, you have to mount the
/pebble directory like so:
docker run \ -v <chosen local dir>:/home/pebble/.peble-sdk \ -v <path to project>:/pebble \ abaez/pebble build
You can achieve all of the above by having a docker-compose file to have the configuration:
pebble: image: abaez/pebble volumes: - <chosen local dir>:/home/pebble/.pebble-sdk - <path to project>:/pebble
If following the docker-compose route, then all you would need to do is run the commands through compose:
docker-compose run pebble sdk install latest
And as an added bonus in lazyness, you can alias the docker-compose to
pebble and run with less typing if you so wish:
alias pebble="docker-compose run pebble" pebble build