A documentation generator for open hardware projects.
This project is currently unmaintained.
- Generate beautiful documentation for open hardware projects!
- Docker: we use Docker to develop and run My Workshop. This is a strict requirement to use this project.
- Docker Compose: we use Docker Compose to simplify the orchestration of all My Workshop application services, using configuration files for different environments (such as dev, test, staging or prod).
Download this repository and unzip it on your computer. You should rename the folder myworkshop-master in myworkshop.
Or clone the repository directly on your computer:
$ git clone git@github.com:myworkshopproject/myworkshop.git
My Workshop stores config in environment variables.
You must set these environment variables before running My Workshop, either directly or by providing the file .env.
To make things easier, we have prepared the .env.example template that you can adapt to your project.
Once the environment variables are set, you can build and start all the services of the My Workshop application (via Docker Compose) using the following command:
$ make prodYou can now access the application with your favorite internet browser at the address you set in the $DOMAIN environment variable.
When launching the application for the first time, you will need to create a super user to manage it. You can do this using the following command:
$ docker exec -it myworkshop_core_1 make createsuperuserFinally, To stop all application services, use the following command:
$ make stopYou can build and start a development environment (completely independent of the production one) with the following command:
$ make devThis previous command builds all the required services for development and starts them all except the core web server and workers.
To start the Django web server, please open a terminal in the container:
$ docker exec -it myworkshop-dev_core_1 /bin/bashThen run:
$ make venv
$ make install
$ make migrate
$ make populate-db
$ make createsuperuser
$ make serve-devTo start a Celery worker, please run:
$ docker exec -it myworkshop-dev_core_1 make workerTo start the frontend dev environment, please open a terminal in the container:
$ docker exec -it myworkshop-dev_frontend_1 /bin/bashThen run:
$ npm install
$ npm run build- NGINX: a free and open-source web server used as a reverse proxy;
- Django: a Python-based free and open-source web framework;
- PostgreSQL: a free and open-source relational database management system.
For the sake of simplicity, to ease interaction with the community, we use the GitHub flow for open-source projects. In a few words:
- The
masterbranch is always stable and deployable; - Tags from the
masterbranch are considered as releases; - Contributors have to fork or create a new feature-branch to work on (if they are allowed to in the original repository) and propose a pull request to merge their branch to
master.
If you'd like to contribute, please raise an issue or fork the repository and use a feature branch. Pull requests are warmly welcome!
We use SemVer for versioning. See the CHANGELOG.md file for details.
The code in this project is licensed under MIT license. See the LICENSE file for details.
- Julien Lebunetel - jlebunetel.