0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-23 06:58:58 -05:00

📚 Move some deleted docs from CONTRIBUTIN file to README.

This commit is contained in:
Andrey Antukh 2019-08-22 20:07:58 +02:00
parent 6483800e49
commit 5a820b4f9e

View file

@ -28,15 +28,87 @@ editable in many other vector tools and easy to use on the web.
## Development ## ## Development ##
Most of the main operations can be done through the helper script ### Introduction ###
`manage.sh`.
The development requires of UXBOX is done through a single docker The development environment consists in a docker container that mounts
container. Each main service is opened in a different your local copy of the uxbox souce code directory tree and executes a
[tmux](https://github.com/tmux/tmux) sessions. tmux inside the container in order to facilitate execute multiple
processes inside.
## Docker ### System requirements ###
You should have `docker` installed in your system in order to set up
properly the uxbox development enviroment.
In debian like linux distributions you can install it executing:
```bash
sudo apt-get install docker
```
### Start the docker container ###
**Requires a minimum knowledge of tmux usage in order to use that
development environment.**
For start it, staying in this repository, execute:
```bash
./manage.sh run-devenv
```
This will do the following:
- Build the image if it is not done before.
- Download all repositories if them are not downloaded previously.
- Start a container with predefined tmux layout.
- Start all needed processes such as gulp and figwheel.
### First steps with tmux ###
Now having the the container running and tmux open inside the
container, you are free to execute any commands and open many shells
as you want.
You can create a new shell just pressing the **Ctr+b c** shortcut. And
**Ctrl+b w** for switch between windows, **Ctrl+b &** for kill the
current window.
### Inside the tmux session ###
#### UI ####
The UI related tasks starts automatically so you do not need do anything. The
**window 0** and **window 1** are used for the UI related environment.
#### Backend ####
The backend related environment is located in the **window 2**, and you can go
directly to it using `ctrl+b 2` shortcut.
By default this tasks are performed:
- Start postgresql.
- Load initial fixtures into the database.
The repl should be started automatically, if not, you can execute:
```bash
clojure -Adev:repl
```
Then use `(start)` to start all the environment, `(stop)` for stoping
it and `(reset)` for restart with code reloading. If some exception is
raised when code is reloaded, just use `(refresh)` in order to finish
correctly the code swaping and later use `(reset)` again.
## Production (Docker)
Docker is also used to build release images for backend and Docker is also used to build release images for backend and
frontend. Use the helper script `manage.sh` to build the images. You frontend. Use the helper script `manage.sh` to build the images. You