Sign inSign up

ptrsr/pi-ci

By ptrsr

•Updated over 1 year ago

A raspberry Pi emulator that lets developers prepare and flash Pi configurations.

Image
3

6.9K

ptrsr/pi-ci repository overview

⁠PI-CI PI-CI

A raspberry Pi emulator in a Docker image⁠ that lets developers easily prepare and flash Pi images.

NOTE: for the full README, refer to the GitHub repo⁠.

⁠Overview

The PI-CI project enables developers to easily:

  • Run a Raspberry Pi VM.
  • Prepare a Raspberry Pi configuration inside the VM.
  • Flash the configuration to an SD card.

Example use cases:

  • Preconfigure Raspberry Pi servers that work from first boot.
  • Create reproducible server configurations using Ansible.
  • Automate the distribution of configurations through a CI pipeline.
  • Test ARM applications in a virtualized environment.
  • Safely test backups without a second SD card.

Key features:

  • Pi 3 and 4 support
  • 64 bit (ARMv8) Raspbian OS included
  • Internet access
  • No root required
  • Ansible preinstalled
  • Safe, fully reproducible from source
  • Tested and stable

⁠Usage

$ docker pull ptrsr/pi-ci
$ docker run --rm -it ptrsr/pi-ci

> usage: docker run [docker args] ptrsr/pi-ci [command] [optional args]
> 
> PI-CI: the reproducible PI emulator.
> 
> positional arguments:
>   command     [start, resize, flash]
> 
> optional arguments:
>   -h, --help  show this help message and exit
>   -v          show verbose output
> 
> Refer to https://github.com/ptrsr/pi-ci for the full README on how to use this program.

Each command has a help message, for example: docker run --rm -it ptrsr/pi-ci start -h.

⁠Start machine

Simply run a ptrsr/pi-ci container with the start command:

docker run --rm -it ptrsr/pi-ci start

Login using the default Raspbian credentials:

  • Username: pi
  • Password: raspberry

⁠Persistence

To save the resulting image, use a bind mount to /dist:

docker run --rm -it -v $PWD/dist:/dist ptrsr/pi-ci start

NOTE: this example will create and mount the dist folder in the current working directory of the host.

To restart the image, simply use the same bind mount.

⁠License

PI-CI is licensed under GPLv3⁠.

Tag summary

Content type

Image

Digest

sha256:52be68c1e…

Size

1.8 GB

Last updated

over 1 year ago

docker pull ptrsr/pi-ci