You should have docker installed in your system, if not click here.
Go to diagrams root directory.
Build the docker image.
docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
Create the container, run in background and mount the project source code.
docker run -d \
-it \
--name diagrams \
--mount type=bind,source="$(pwd)",target=/usr/src/diagrams \
diagrams:1.0
Run unit tests in the host using the container to confirm that it’s working.
docker exec diagrams python -m unittest tests/*.py -v
Run the bash script autogen.sh
to test.
docker exec diagrams ./autogen.sh
If the unit tests and the bash script autogen.sh
is working correctly, then your system is now ready for development.
To be able to develop and run diagrams locally on you Mac device, you should have Python, Go, and brew installed on your system.
Go to diagrams root directory.
Install poetry, the Python project management package used by diagrams.
pip install poetry
Install the project’s Python dependencies.
poetry install
Install diagrams binary dependencies.
brew install imagemagick inkscape black
go get github.com/mingrammer/round
Run unit tests to confirm that it’s working.
python -m unittest tests/*.py -v
Run the bash script autogen.sh
to test.
./autogen.sh
If the unit tests and the bash script autogen.sh
is working correctly, then your system is now ready for development.
Go to diagrams root directory.
Modify the Dockerfile when install fonts
# Install fonts
RUN curl -O https://noto-website.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \
& mkdir -p /usr/share/fonts/NotoSansCJKjp \
& unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \
& rm NotoSansCJKjp-hinted.zip \
& fc-cache -fv
Build the docker image.
docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
Run the docker-compose file to create the container, run in background and mount the project source code.
docker-compose up -d
Run unit tests in the host using the container to confirm that it’s working.
docker exec -it diagrams bash
python -m unittest tests/*.py -v
Run the bash script autogen.sh
to test.
docker exec diagrams ./autogen.sh
If the unit tests and the bash script autogen.sh
is working correctly, then your system is now ready for development.
If you use Windows change CRLF to LF in the autogen.sh file.