# How to setup a development environment for Penpot?

**URL:** <https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841>\
**Category:** Contribution\
**Created:** [October 17, 2022, 2:09pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841 "2022-10-17T14:09:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![cverdes](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/cverdes/32/1793_2.png) [@cverdes](https://community.penpot.app/u/cverdes)\
**Post date:** [October 17, 2022, 2:09pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/1 "2022-10-17T14:09:49Z")

</div>

Please, could anyone suggest me what is the best way to build a development environment for Penpot? Is any video or documentation with the instructions?

Sorry if this is a silly question for someone with Clojure experience. 🙃

---

<div class="post-metadata">

**Author:** ![diacritica](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/diacritica/32/5604_2.png) [@diacritica](https://community.penpot.app/u/diacritica)\
**Post date:** [October 17, 2022, 3:35pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/2 "2022-10-17T15:35:48Z")

</div>

Sure! I think this might be useful here! [5. Developer Guide](https://help.penpot.app/technical-guide/developer/)

---

<div class="post-metadata">

**Author:** ![cverdes](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/cverdes/32/1793_2.png) [@cverdes](https://community.penpot.app/u/cverdes)\
**Post date:** [October 17, 2022, 3:37pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/3 "2022-10-17T15:37:55Z")

</div>

Great! Thank you very much! ❤

---

<div class="post-metadata">

**Author:** ![diacritica](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/diacritica/32/5604_2.png) [@diacritica](https://community.penpot.app/u/diacritica)\
**Post date:** [October 17, 2022, 7:37pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/4 "2022-10-17T19:37:20Z")

</div>

You’re welcome! Could I ask you a favour? If you find any inconsistencies or difficulties in trying to making it work, please open a pull request or an issue with your proposed changes, thank you!

---

<div class="post-metadata">

**Author:** ![cverdes](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/cverdes/32/1793_2.png) [@cverdes](https://community.penpot.app/u/cverdes)\
**Post date:** [October 18, 2022, 2:44pm UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/5 "2022-10-18T14:44:17Z")

</div>

Yes dear @diacritica, of course! It will be an honor to help in any way possible.

I promise to open a pull request or an issue to share any difficulties or suggestions that might improve the documentation.

🤗

---

<div class="post-metadata">

**Author:** ![cverdes](https://dub1.discourse-cdn.com/flex017/user_avatar/community.penpot.app/cverdes/32/1793_2.png) [@cverdes](https://community.penpot.app/u/cverdes)\
**Post date:** [October 19, 2022, 12:22am UTC](https://community.penpot.app/t/how-to-setup-a-development-environment-for-penpot/1841/6 "2022-10-19T00:22:27Z")

</div>

Dear @diacritica and @niwinz,

After executing the installation steps, after almost 2 hours, I get an up and running Penpot development environment in my notebook, virtually without any previous docker knowledge.

To check de environment, I made a small change into the source code of the `main.clj` file, verifying that it is reflected during Penpot’s startup output sequence.

Change made to the code:

 ![Screenshot from 2022-10-18 20-02-04](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/2/2ff6444d60dd620a15667db884b86c2868eb95e4.png)

Startup Console Output:

 ![Screenshot from 2022-10-18 20-02-53](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/8/85e4b8de95a611491f9e5e250af5d52f5f8ba9fe.png)

Having the gulp, shadow watch, exporter and backend tmux terminals open, the server responds on both localhost:3449 and on port 1080 as expected.

The MailCatcher allowed me to activate the first user to login to Penpot.

The installation was very simple, direct and without problems.

Just as a comment, you can watch a list of Warnings in the screenshot during the startup of the `backend`, and a couple of errors during the `gulp` startup:

 ![Screenshot from 2022-10-18 20-44-25](https://europe1.discourse-cdn.com/flex017/uploads/penpot/original/2X/a/a8393670baa142d89c6a0aa276b4a317d91f50ff.png)

Now I have a lot to analyze and study, with the idea of starting to examine the source code in order to make the series of posts “_Improve your Clojure with Penpot_”, he he

Thank you very much for your help and excellent documentation, and please, let me know if I can help other Community members with any issues during the installation process.

I remain at your total disposal and very grateful… beginning to study _ **the new world of Penpot code** _!

☺
