diff --git a/README.md b/README.md index f225cdf2..f2be2d63 100644 --- a/README.md +++ b/README.md @@ -2,93 +2,164 @@ ## Requirements -Docker and docker-compose +- docker +- docker-compose -Additionally, it's necessary to have familiarity with Docker, docker-compose and Docker repositories +Additionally, it's necessary to have familiarity with Docker, docker-compose and Docker repositories. ## Simple customization There are some environment variables for a simple customization. Find them in the `docker-compose.yml`. The images are ready to work out of the box, although is strongly recommended to change some default values. -### Database: taiga-db -`POSTGRES_DB`, `POSTGRES_USER` and `POSTGRES_PASSWORD`. This vars will be used to create the database for Taiga. +### taiga-db + +##### `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD` + +This vars will be used to create the database for Taiga. **Important**: these vars should have the same values as `taiga-back` vars. -### API, Admin, and Async: taiga-back -**Database settings**: +### taiga-back and taiga-async -`POSTGRES_DB`, `POSTGRES_USER` and `POSTGRES_PASSWORD`. This vars will be used to connect to the Taiga database. +#### Database settings -*Important*: these vars should have the same values as `taiga-db` vars. +##### `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD` -Besides, `POSTGRES_HOST` where the database is set. By default, it's meant to be in the same host as the database service so it uses internal docker names. +This vars will be used to connect to the Taiga database. -**Taiga settings**: +**Important**: these vars should have the same values as `taiga-db` service vars. -`TAIGA_SECRET_KEY` should be the same as this var in `taiga-events` and `taiga-async` +##### `POSTGRES_HOST` -`TAIGA_SITES_SCHEME` and `TAIGA_SITES_DOMAIN` should have the url where this is served: https[://]taiga.mycompany.com +Where the database is set. By default, it's meant to be in the same host as the database service so it uses internal docker names. -**Email Settings**: +#### Taiga settings -By default, email is configured with the *console* backend, which means that the emails will be shown in the stdout. -If you have an smtp service, configure `ENABLE_EMAIL` to "True" and the rest of email settings. +##### `TAIGA_SECRET_KEY` -**Rabbit settings** +Is the secret key of Taiga. Should be the same as this var in `taiga-events` and `taiga-async` -`RABBITMQ_USER` and `RABBITMQ_PASS` are used to leave messages in the rabbitmq services. Those variables should be the same as in `taiga-async-rabbitmq` and `taiga-events-rabbitmq`. +##### `TAIGA_SITES_SCHEME`, `TAIGA_SITES_DOMAIN` -**Github settings** +Should have the url where this is served: https[://]taiga.mycompany.com + +#### Email Settings + +By default, email is configured with the *console* backend, which means that the emails will be shown in the stdout.
+ +##### `ENABLE_EMAIL` + +If you have an smtp service, configure this variable to "True". By default is "False". + +##### `DEFAULT_FROM_EMAIL`, `EMAIL_HOST`, `EMAIL_PORT`, `EMAIL_HOST_USER`, `EMAIL_HOST_PASSWORD` + +If you have an smtp service configure this variables too. + +##### `EMAIL_USE_TLS` + +If you use TLS, configure this variable to "True". By default is "False". + +##### `EMAIL_USE_SSL` + +If you use SSL, configure this variable to "True". By default is "False". + +#### Rabbit settings + +##### `RABBITMQ_USER`, `RABBITMQ_PASS` + +Are used to leave messages in the rabbitmq services. Those variables should be the same as in `taiga-async-rabbitmq` and `taiga-events-rabbitmq`. + +#### Github settings + +##### `GITHUB_API_CLIENT_ID`, `GITHUB_API_CLIENT_SECRET` Used for login with Github. Get these in your profile https://github.com/settings/apps or in your organization profile https://github.com/organizations/{ORGANIZATION-SLUG}/settings/applications -**Gitlab settings** +#### Gitlab settings + +##### `GITLAB_API_CLIENT_ID`, `GITLAB_API_CLIENT_SECRET`, `GITLAB_URL` Used for login with GitLab. Get these in your profile https://{YOUR-GITLAB}/profile/applications or in your organization profile https://{YOUR-GITLAB}/admin/applications -### Front: taiga-front +### taiga-async-rabbitmq -`TAIGA_URL` where this Taiga instance should be served. It should be the same as `TAIGA_SITES_SCHEME`://`TAIGA_SITES_DOMAIN`. +##### `RABBITMQ_ERLANG_COOKIE` -`TAIGA_WEBSOCKETS_URL` to connect to the events. This should have the same value as `TAIGA_SITES_DOMAIN`, ie: ws://taiga.mycompany.com +Is the secret erlang cookie. -**Github settings** +##### `RABBITMQ_DEFAULT_USER`, `RABBITMQ_DEFAULT_PASS`, `RABBITMQ_DEFAULT_VHOST` + +This vars will be used to connect to rabbitmq. + + +### taiga-front + +##### `TAIGA_URL` + +Where this Taiga instance should be served. It should be the same as `TAIGA_SITES_SCHEME`://`TAIGA_SITES_DOMAIN`. + +##### `TAIGA_WEBSOCKETS_URL` + +To connect to the events. This should have the same value as `TAIGA_SITES_DOMAIN`, ie: ws://taiga.mycompany.com + +##### `GITHUB_CLIENT_ID` Used for login with Github. Get these in your profile https://github.com/settings/apps or in your organization profile https://github.com/organizations/{ORGANIZATION-SLUG}/settings/applications -**Gitlab settings** +##### `GITLAB_CLIENT_ID`, `GITLAB_URL` Used for login with GitLab. Get these in your profile https://{YOUR-GITLAB}/profile/applications or in your organization profile https://{YOUR-GITLAB}/admin/applications -### Events: taiga-events +### taiga-events -`TAIGA_SECRET_KEY` should be the same as this var in `taiga-back` +##### `RABBITMQ_USER`, `RABBITMQ_PASS` + +Are used to read messages from rabbitmq + +##### `TAIGA_SECRET_KEY` + +Should be the same as this var in `taiga-back` + + +### taiga-events-rabbitmq + +##### `RABBITMQ_ERLANG_COOKIE` + +Is the secret erlang cookie. + +##### `RABBITMQ_DEFAULT_USER`, `RABBITMQ_DEFAULT_PASS`, `RABBITMQ_DEFAULT_VHOST` + +This vars will be used to connect to rabbitmq. + + +## Storage + +We have 3 named volumes configured: `taiga-static-data` for statics, `taiga-media-data` for medias and `taiga-db-data` for the database. -`RABBITMQ_USER` and `RABBITMQ_PASS` are used to read messages from rabbitmq. ## Complex customization -For a complex customization, you can use configuration files, mapped to a specific directories inside the containers. +For a complex customization, you can use configuration files, mapped to specific directories inside the containers. -**taiga-back** +### taiga-back Map a Python configuration file to `/taiga-back/settings/config.py`. You can use (this file)[https://github.com/taigaio/taiga-back/blob/taiga-6/docker/config.py] as an example. -*Important*: if you use your own configuration file, don't forget to add contribs to `INSTALLED_APPS` (check the example `config.py`). +**Important**: if you use your own configuration file, don't forget to add contribs to `INSTALLED_APPS` (check the example `config.py`). -**taiga-front** +### taiga-front Map a `conf.json`configuration file to `/usr/share/nginx/html/conf.json`. You can use (this file)[https://github.com/taigaio/taiga-front/blob/taiga-6/docker/conf.json.template] as an example. + ## Before running You have to configure an admin user: @@ -107,8 +178,11 @@ $ docker-compose up -d Default access for the application is **http://localhost:9000**. + ## One shot commands +`docker-compose-inits.yml` lets launch manage.py commands on the back instance: + ```sh $ docker-compose -f docker-compose.yml -f docker-compose-inits.yml run --rm taiga-manage [COMMAND] -``` +``` \ No newline at end of file