Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ipedrazas/taiga-docker
Docker scripts to run your own Taiga
https://github.com/ipedrazas/taiga-docker
Last synced: 4 days ago
JSON representation
Docker scripts to run your own Taiga
- Host: GitHub
- URL: https://github.com/ipedrazas/taiga-docker
- Owner: ipedrazas
- License: apache-2.0
- Created: 2014-10-04T15:35:53.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-01-18T11:28:15.000Z (almost 7 years ago)
- Last Synced: 2024-08-02T12:48:44.781Z (3 months ago)
- Language: Python
- Size: 85 KB
- Stars: 323
- Watchers: 14
- Forks: 117
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - ipedrazas/taiga-docker - Docker scripts to run your own Taiga (others)
README
[![Stories in Ready](https://badge.waffle.io/ipedrazas/taiga-docker.png?label=ready&title=Ready)](https://waffle.io/ipedrazas/taiga-docker)
# taiga-dockerDocker scripts to run your own [Taiga](https://Taiga.io/).
External Dependencies:
* [PostgreSQL](https://registry.hub.docker.com/_/postgres/)
Taiga
* [taiga-back](https://github.com/taigaio/taiga-back): Django backend
* [taiga-front](https://github.com/taigaio/taiga-front): Angular.js frontendBy far the easiest way of setting up Taiga in Docker is by running the `setup.sh` script. So, if you just want to run it and you just don't care about what happens underneath, just run that script.
There's a catch. The API url has to be specified. Taiga frontend is javascript, so, we have to inject the value of the hostname where taiga-back runs. We can do that by defining an environment variable
export API_NAME=boot2docker
For example, it will make the requests to `http://boot2docker:8000/api/v1/...` If you don't define this variable the script will assume it's `localhost` (if you're using `boot2docker` it will not work).
If you want to run the frontend manually, this is the command:
docker run -d --name taiga-front -p 80:80 -e API_NAME=$API_NAME --link taiga-back:taiga-back ipedrazas/taiga-front
Once you've successfully installed Taiga start a web browser and point it to `http://localhost` or `http://boot2docker`. You should be greeted by a login page. The administrators username is `admin`, and the password is `123123`.
If you cannot authenticate, probably is that the API_NAME has not been set properly.
There is another script `run.sh` that you can use to start your taiga containers once the installation has been succesful. You don't have to run it after the setup, just after stopping the containers.
### Postgresql
We run a container based on the original image provided by [PostgreSQL](https://registry.hub.docker.com/_/postgres/)
docker run -d --name postgres postgres
**Note about Volumes**
If you try to mount volumes in OSX using `boot2docker` you will see that it does not work. This is known problem and it only affects OSX. There's a solution though. You might want to extend the postgres docker image and add this line:
`RUN usermod -u 1000 postgres`
This change will fix the permission problem when mounting a volume.
**To initialise the database**
docker run -it --link postgres:postgres --rm postgres sh -c "su postgres --command 'createuser -h "'$POSTGRES_PORT_5432_TCP_ADDR'" -p "'$POSTGRES_PORT_5432_TCP_PORT'" -d -r -s taiga'"
docker run -it --link postgres:postgres --rm postgres sh -c "su postgres --command 'createdb -h "'$POSTGRES_PORT_5432_TCP_ADDR'" -p "'$POSTGRES_PORT_5432_TCP_PORT'" -O taiga taiga'";
If you want to access the database, run the following container:
docker run -it --link postgres:postgres --rm postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres'
Once you are in psql you can check that indeed our user & database have been created:
# To list the users defined in our system use the following command
\du
# To list the databases, the command is
\list### Taiga-Back
Before running our backend, we have to populate our database, to do so, Taiga provides a regenerate script that creates all the tables and even some testing data
# pull the image
docker pull ipedrazas/taiga-back# regenerate tables
docker run -it --rm --link postgres:postgres ipedrazas/taiga-back bash regenerate.shOnce the database has been populated, we can start our Django application:
docker run -d -p 8000:8000 --name taiga-back --link postgres:postgres ipedrazas/taiga-back
### Taiga-Front
Finally, we run the frontend
# pull the image
docker pull ipedrazas/taiga-front# run the frontend
docker run -d -p 80:80 --link taiga-back:taiga-back --volumes-from taiga-back ipedrazas/taiga-frontThe frontend needs to know the URL of the backend. Those settings are specified in the `frontend/conf.json` file. You can modify them and re-add them into the image by using a volume
docker run -d -p 80:80 --link taiga-back:taiga-back -v "$(pwd)"/frontend/conf.json:/taiga/js/conf.json:ro ipedrazas/taiga-front
## What's next?
The docker compose file needs some love and care but the next is to add RabbitMQ and the Taiga events plugged in.