# How to Create Custom Features in Taiga when Self hosting with docker

**URL:** <https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791>\
**Category:** Self hosted Taiga\
**Created:** [February 21, 2023, 5:40pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791 "2023-02-21T17:40:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![sreichenfeld](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@sreichenfeld](https://community.taiga.io/u/sreichenfeld)\
**Post date:** [February 21, 2023, 5:40pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/1 "2023-02-21T17:40:24Z")

</div>

Is there a way to implement custom features. Not sure how this would be done. I would like to implement my own code and not use 3rd parties like zapier.

This there a way to edit the code create a custom feature. I would like to be able to look at the task and have time entry area to enter date and hours worked. That would be saved in a new postgres table or possibly an orcl db.

I would also like to add a scrollable list to each task to show all time entries on a task.

If you know of how I would go about this please explain in some detail. An useful links would be appreciated.

---

<div class="post-metadata">

**Author:** ![david.barragan](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/david.barragan/32/293_2.png) [@david.barragan](https://community.taiga.io/u/david.barragan)\
**Post date:** [February 23, 2023, 10:32am UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/2 "2023-02-23T10:32:39Z")

</div>

It’s possible, there would be two steps:

1. make the modifications in the taiga code
2. Rebuild the docker images affected by the changes.

The first step would require making modifications to the Taiga [backend](https://github.com/kaleidos-ventures/taiga-back) and [frontend](https://github.com/kaleidos-ventures/taiga-front). Either directly cloning the repositories and making the modifications in them or creating plugins with your modifications. The first option is probably easier for you purpose and offers you more possibilities for customization.

Then you only have to recompile the docker images.

For the backend

```bash
cd taiga-back/
docker build --no-cache -f docker/Dockerfile -t taigaio/taiga-back:latest .

```

And for the frontend

```bash
cd taiga-front/
docker build --no-cache -f docker/Dockerfile -t taigaio/taiga-front:latest .

```

And that would be all. Starting docker on the machine with the new images would apply your changes.

You can avoid building the docker images by [installing directly from the source code repositories](https://docs.taiga.io/setup-production.html#setup-prod-from-source-code). And [here is another installation guide](https://docs.taiga.io/setup-development.html) designed to make the development process easier.

I hope this information will be useful.

---

<div class="post-metadata">

**Author:** ![sreichenfeld](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@sreichenfeld](https://community.taiga.io/u/sreichenfeld)\
**Post date:** [May 19, 2023, 9:41pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/3 "2023-05-19T21:41:58Z")

</div>

Sorry for the late reply, This is the answer I was looking for Thank you.

Is there also a way to have the backend work for Oracle SQL instead of postgresql?

I wouldn’t think that making this change would be to complicated, but not sure exactly without trying it out.

---

<div class="post-metadata">

**Author:** ![david.barragan](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/david.barragan/32/293_2.png) [@david.barragan](https://community.taiga.io/u/david.barragan)\
**Post date:** [May 19, 2023, 9:50pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/4 "2023-05-19T21:50:32Z")

</div>

Django supports multiple databases (oracle, mariadb, SQLite…), but Taiga uses features that only postgresql offers. You have to overwrite some features to make taiga compatible with oracle.

---

<div class="post-metadata">

**Author:** ![Uber\_IA](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/uber_ia/32/1774_2.png) [@Uber\_IA](https://community.taiga.io/u/Uber_IA)\
**Post date:** [December 20, 2023, 4:37pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/7 "2023-12-20T16:37:50Z")

</div>

What am I doing wrong?  
Taiga installation steps and fork.  
My steps:

```auto
git clone https://github.com/kaleidos-ventures/taiga-docker
cd taiga-docker/
git clone https://github.com/kaleidos-ventures/taiga-back 
git clone https://github.com/kaleidos-ventures/taiga-front
cd taiga-back/
docker build --no-cache -f docker/Dockerfile -t taigaio/taiga-back:latest .
cd ..
cd taiga-front/
docker build --no-cache -f docker/Dockerfile -t taigaio/taiga-front:latest .
—---
cd ..
git checkout stable
./launch-taiga.sh
http://localhost:9000 

```

When I make changes within /docker-taiga/taiga-front/app/themes/taiga/  
changing the colors for example -, I rebuild the front image again and there is no change.  
Steps for rebuilding after customize:

```auto
cd taiga-front/
docker build --no-cache -f docker/Dockerfile -t taigaio/taiga-front:latest .
cd ..
git checkout stable
./launch-taiga.sh
http://localhost:9000 

```

---

<div class="post-metadata">

**Author:** ![david.barragan](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/david.barragan/32/293_2.png) [@david.barragan](https://community.taiga.io/u/david.barragan)\
**Post date:** [December 20, 2023, 5:02pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/8 "2023-12-20T17:02:11Z")

</div>

@Uber_IA, taiga-front Docker image use a pre-compiled version (downloaded from [taiga-front-dist](https://github.com/kaleidos-ventures/taiga-front-dist)) as you can see here [taiga-front/docker/Dockerfile at main · kaleidos-ventures/taiga-front · GitHub](https://github.com/kaleidos-ventures/taiga-front/blob/main/docker/Dockerfile#L21) So you have to modify the Docker file to use your local compiled code instead of the remote version.

---

<div class="post-metadata">

**Author:** ![sshantt](https://avatars.discourse-cdn.com/v4/letter/s/ec9cab/32.png) [@sshantt](https://community.taiga.io/u/sshantt)\
**Post date:** [December 29, 2023, 11:56pm UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/9 "2023-12-29T23:56:55Z")

</div>

What modifications do we have to make to the docker file to use the local compiled code instead of the remote version?

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 3, 2024, 11:51am UTC](https://community.taiga.io/t/how-to-create-custom-features-in-taiga-when-self-hosting-with-docker/791/10 "2024-01-03T11:51:35Z")

</div>

Hi @sshantt

If you check the dockerfile, there is a [line](https://github.com/kaleidos-ventures/taiga-front/blob/main/docker/Dockerfile#L21) where the compiled source is downloaded.

You should remove that line and make the dockerfile get the source from the new place. If you’re compiling taiga-front locally, you may use the COPY instruction. Check the following lines in the dockerfile to adapt them to your usecase (I guess you are not zipping the compiled front for instance).

Cheers!
