Giter VIP home page Giter VIP logo

taiga-docker's Introduction

taiga-docker

A small Docker Image for the open-source project management software Taiga.io - compressed image size is 120 MB. The recipe is based on the existing recipe by benhutchins: see https://github.com/benhutchins/docker-taiga for his approach.

Tested / supported versions of Taiga:

  • Version 3.0.0
  • Version 3.1.0

Available Docker Images at DockerHub

Image Name Tag Taiga Version LDAP-Plugin
m00re/taiga 3.1.0-ldap 3.1.0 0.1.1
m00re/taiga 3.0.0-ldap 3.0.0 0.1.1
m00re/taiga 3.0.0 3.0.0 Not included

See: https://hub.docker.com/r/m00re/taiga/

Image details

  • The image contains Taiga backend and Taiga frontend.
  • Frontend and backend are served by a Nginx server instance running on port 80.
  • LDAP plugin from https://github.com/ensky/taiga-contrib-ldap-auth is integrated and can be enabled if required.
  • The Nginx server instance accepts HTTP connections only (no HTTPS), but you can create an own image that enables HTTPS by adjusting the nginx.conf template.
  • PostgreSQL database server is not included, i.e. a db server instance is expected to be running elsewhere (either in a different container that is linked, or hosted somewhere else).
  • (Open-)LDAP server is not included.
  • The image is published on Dockerhub as m00re/taiga

Important environment parameters for configuration:

  • TAIGA_HOSTNAME: The name of the server/domain, through which the Taiga instance will be accessed in the end, e.g. taiga.yourdomain.tld (default: localhost).
  • TAIGA_SSL: Defines whether the Taiga instance will be accessible through SSL or not, (default: false).
  • TAIGA_SECRET_KEY: Defines the secret key used internally by Taiga (default: !!!PLEASE-REPLACE-ME!!!), e.g. for password hashing or similar operations. Please change the default value.
  • TAIGA_DB_HOST: Defines the hostname of the server on which the PostgreSQL instance is running (default: localhost).
  • TAIGA_DB_NAME: Defines the database name on the PostgreSQL instance (default: postgres).
  • TAIGA_DB_USER: Defines the database username for PostgreSQL connections (default: postgres).
  • TAIGA_DB_PASSWORD: Defines the password for database connections (default: !!!PLEASE-REPLACE-ME!!!).
  • TAIGA_PUBLIC_REGISTER_ENABLED: Defines whether new user registrations are enabled (default: false).
  • TAIGA_BACKEND_DEBUG: Enables or disables backend debugging (default: false ).
  • TAIGA_FRONTEND_DEBUG: Enables or disables frontend debugging (default: false).
  • TAIGA_FEEDBACK_ENABLED: Enables sending of feedback to Taiga.io developers (default: false).
  • TAIGA_DEFAULT_LANGUAGE: Defines the default language in the frontend (default: en).
  • TAIGA_DEFAULT_THEME: Defines the default theme to be used (default: material-design).
  • LDAP_ENABLE: Enables or disables support for LDAP-based authentication (default: false).
  • LDAP_SERVER: The hostname or IP address of the LDAP server (default: empty).
  • LDAP_PORT: The port on which the LDAP server is listening (default: 389).
  • LDAP_BIND_DN: Defines the user to be used for LDAP queries (default: empty).
  • LDAP_BIND_PASSWORD: Sets the password of this user (default: empty).
  • LDAP_SEARCH_BASE: The base below which to search for user accounts (default: empty).
  • LDAP_SEARCH_PROPERTY: The property field to query for when looking up user accounts (default: sAMAccountName).
  • LDAP_EMAIL_PROPERTY: The property in which the email address of a user is stored (default: mail).
  • LDAP_FULL_NAME_PROPERTY: The property in which the full name of a user is stored (default: displayName).

Important directories inside of the image:

  • Backend distribution is located in /taiga.io/taiga-back
  • Frontend distribution is located in /taiga.io/taiga-front
  • Uploaded media files (e.g. attachments, project logos, profile pcitures) are stored in /taiga.io/taiga-back/media

Example usage with docker-compose

The following docker-compose.yml recipe shows how you can easily start your own Taiga instance, in combination with an own PostgreSQL container image. The important directories of both containers are linked as volumes, for easy backup.

postgres:
  image: postgres:9.6.1-alpine
  environment:
    - POSTGRES_DB=taiga
    - POSTGRES_USER=taiga
    - POSTGRES_PASSWORD=3MwR95cj9YAP7zm2lKrU
  volumes:
    - taiga-db:/var/lib/postgresql/data

taiga:
  image: m00re/taiga
  ports:
    - 80:80
  links:
    - postgres
  environment:
    - TAIGA_HOSTNAME=localhost
    - TAIGA_DB_HOST=postgres
    - TAIGA_DB_NAME=taiga
    - TAIGA_DB_USER=taiga
    - TAIGA_DB_PASSWORD=3MwR95cj9YAP7zm2lKrU
    - TAIGA_SECRET_KEY=<YOUR_SECRET_KEY_HERE>
    - TAIGA_PUBLIC_REGISTER_ENABLED=true
    - TAIGA_BACKEND_DEBUG=false
    - TAIGA_FRONTEND_DEBUG=false
    - TAIGA_FEEDBACK_ENABLED=false
    - TAIGA_DEFAULT_LANGUAGE=de
    - TAIGA_SSL=false
    - TAIGA_DEFAULT_THEME=material-design
    - LDAP_ENABLE=false
  volumes:
    - taiga-media:/taiga.io/taiga-back/media

To bring both up, simply type:

docker-compose up -d

taiga-docker's People

Contributors

m00re avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

taiga-docker's Issues

Cannot add member in 3.1.0

Hi,

I'm not really sure if it is a configuration, image or platform problem, but I am unable to add members to projects in taiga-docker 3.1.0-ldap, in 3.0.0 it works just fine - in the same environment. In 3.1.0-ldap (using default docker-compose file) the screen is blank with just "New Member" text in the center. Browser console throws following error:

Error: [$injector:unpr] Unknown provider: tProvider <- t <- tgSuggestAddMembersDirective
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20tgSuggestAddMembersDirective
t/<@http://localhost/v-1489162899787/js/libs.js:9:31649
nt/x.$injector<@http://localhost/v-1489162899787/js/libs.js:10:20469
r@http://localhost/v-1489162899787/js/libs.js:10:19393
nt/$<@http://localhost/v-1489162899787/js/libs.js:10:20552
r@http://localhost/v-1489162899787/js/libs.js:10:19393
i@http://localhost/v-1489162899787/js/libs.js:10:19693
a@http://localhost/v-1489162899787/js/libs.js:10:19895
T/</<@http://localhost/v-1489162899787/js/libs.js:10:26269
r@http://localhost/v-1489162899787/js/libs.js:10:66
T/<@http://localhost/v-1489162899787/js/libs.js:10:26238
a@http://localhost/v-1489162899787/js/libs.js:10:19999
a/<@http://localhost/v-1489162899787/js/libs.js:10:18151
a@http://localhost/v-1489162899787/js/libs.js:10:19999
nt/$<@http://localhost/v-1489162899787/js/libs.js:10:20572
r@http://localhost/v-1489162899787/js/libs.js:10:19393
Q@http://localhost/v-1489162899787/js/libs.js:11:4930
U@http://localhost/v-1489162899787/js/libs.js:10:30124
q@http://localhost/v-1489162899787/js/libs.js:10:29477
q@http://localhost/v-1489162899787/js/libs.js:10:29649
ne/<@http://localhost/v-1489162899787/js/libs.js:11:6349
a@http://localhost/v-1489162899787/js/libs.js:12:3271
s/<@http://localhost/v-1489162899787/js/libs.js:12:3443
xn/this.$get</p.prototype.$eval@http://localhost/v-1489162899787/js/libs.js:12:10956
xn/this.$get</p.prototype.$digest@http://localhost/v-1489162899787/js/libs.js:12:9460
xn/this.$get</p.prototype.$apply@http://localhost/v-1489162899787/js/libs.js:12:11241
ua[t]</<.compile/</<@http://localhost/v-1489162899787/js/libs.js:14:15138
oe.event.dispatch@http://localhost/v-1489162899787/js/libs.js:5:1949
oe.event.add/g.handle@http://localhost/v-1489162899787/js/libs.js:5:59

Every request returned 200, the last one (GET /api/v1/users/5/contacts?exclude_project=1) returned empty array, if that might cause the issue. I should be still able to invite users using e-mail address, right?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.