move2docker/README.md

24 lines
2.4 KiB
Markdown

# Move2Docker
[![Build Status](https://drone.chrz.de/api/badges/chonal/move2docker/status.svg)](https://drone.chrz.de/chonal/move2docker)
MOVE-II decoder docker container for all the architectures your heart desires - x86_64, armv7l, ...
Based on https://github.com/MOVE-II/move2radio.
This container uses no blobs to build, however some proprietary code is needed. The distributed docker images only contain binary assets, this is achieved using docker multi-stage builds. The proprietary code is currently hosted at the LRZ GitLab by the MOVE-II team, and an older private mirror exists at the CHRZ Git server. It is forbidden to redistribute the proprietary code without permission, however binary assets compiled from it may be redistributed.
## Download
User Docker to download the precompiled binaries: `docker pull registry.chrz.de/redsat/move2docker`. This image is multi-arch and Docker will automatically select the correct sub-image based on the current architecture.
## Usage
Starting the container without any arguments opens a shell into the container. You can override the default entrypoint (`/app/run-cli.sh`) using `docker run --entrypoint "/app/run-gui.sh" ...`, which launches the GNURadio companion on start. The same behavior can be achieved by executing `gnuradio-companion` in the CLI session.
The GUI container needs to know which X11 server to connect to, this can be configured using `docker run --env DISPLAY=host.docker.internal:0.0 ...` when using Docker Desktop for Windows or OS X. On Linux `host.docker.internal` cannot be resolved so there you have to use something like `$(docker network inspect bridge --format='{{(index .IPAM.Config 0).Gateway}}')` (The gateway address of the `docker0` bridge interface) or its IP address directly like `172.17.0.1`, but note that your configuration may differ.
## Development
Use the `scripts/*-dev*.sh` to build and run the docker container for local development. The other scripts will download and run the precompiled image.
The public docker image is built by the CI server using the `master` branch of this repository. Please use the `dev` branch for local development.
### Proprietary Code Server Configuration
Configure the proprietary code server using the file `config/config.sh` (see or copy `config/config.sh.example*`), and place or link your private key for the server access (`id_rsa`) there as well. Note that this key should not be protected with a password.