Code Monkey home page Code Monkey logo

docker-taiga's People

Contributors

adam-dej avatar lubo avatar mskrip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-taiga's Issues

Can't login to a newly built container.

Thank you for the beautiful repository.
I tried it immediately, but could not log in with "admin: 123123".
Is this procedure something wrong?

git clone https://github.com/devinsolutions/docker-taiga.git taiga
cd taiga

vi docker-compose.advanced.yml
    - # - populate-db
    + - populate-db

docker-compose -f ./docker-compose.advanced.yml up -d

Deprecation notice on dockerhub?

Hi!

Is the image deprecated? It says so on dockerhub, but is the best maintained taiga image by far. (I also like, that it uses less privileges. Thank you for building it)

Cheers

Upgrade to Python 3.8

In Taiga 5.5, psycopg2 was upgraded to version 2.8.5, which was AFAIK the only blocker in upgrading to Python 3.8.

default admin password

Hi,
I used your docker-compose in advanced mode to bring up the taiga, everything worked out of the box for a test env I set up for it, however default taiga admin user password i.e 123123 did not work. I tried to look for it in all the files config settings there are no place I could find it. Can you state where in the code you set it and how to find it please?
Thanks

Oops somethin happened! You're changes weren't saved.

I get that error almost everytime I create or edit something within a project doesn't matter if it's a User Story, a Task or an EPIC.

Interestingly all the changes I execute get saved even though I get that error notification.

Any idea why this happens?

  • error.log is empty

  • docker-compose:

version: "3.2"

services:
  database:
    image: postgres:alpine
    container_name: taiga-db
    stop_signal: SIGINT
    volumes:
      - ./data/db:/var/lib/postgresql/data
    expose:
      - "5432"
  server:
    image: devinsolutions/taiga:latest
    container_name: taiga
    depends_on:
      - database
    command:
      - run-server
    healthcheck:
      test: wget -q -t 1 --spider http://localhost:8080/api/v1/
    expose:
      - "8080"
    stop_signal: SIGHUP
    volumes:
      - ./data/media:/srv/taiga-back/media
      - ./conf/settings.py:/etc/opt/taiga-back/settings.py:ro
    labels:
      - "traefik.enable=true"
      - "traefik.port=8080"
      - "traefik.docker.network=reverse-proxy"
      # Entrypoint and TLS
      - "traefik.http.routers.taiga.entrypoints=https"
      - "traefik.http.routers.taiga.rule=Host(`taiga.domain.org`)"
      - "traefik.http.routers.taiga.tls.options=myTLSOptions@file"
      - "traefik.http.routers.taiga.tls.certresolver=le"
      # Middlewares:
      - "traefik.http.routers.taiga.middlewares=taiga@docker"
      # Middleware taiga adds additional headers:
      - "traefik.http.middlewares.taiga.headers.customFrameOptionsValue=SAMEORIGIN"
      - "traefik.http.middlewares.taiga.headers.framedeny=true"
      - "traefik.http.middlewares.taiga.headers.sslredirect=true"
      - "traefik.http.middlewares.taiga.headers.stsIncludeSubdomains=true"
      - "traefik.http.middlewares.taiga.headers.stsPreload=true"
      - "traefik.http.middlewares.taiga.headers.stsSeconds=15552000"

networks:
    default:
       external:
         name: reverse-proxy
  • settingy.py:
SECRET_KEY = '<secret>'

ALLOWED_HOSTS = [
    '127.0.0.1',
    'localhost',
    'taiga.domain.org',
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '<dbname>',
        'USER': '<dbuser>',
        'PASSWORD': '<dbuserpass>',
        'HOST': 'database',
        'PORT': '5432',
    }
}

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://guest:guest@broker/taiga"}

Project Details - Images not showing up

Hi,
thank you for maintaining the docker image. The installation process was a breeze =)

However, I ran lately into an issue:
I can change the logo in project details but the logo won't show up. Instead, I get the typical 'missing images icon'. I double checked this issue on taiga.io, where it doesn't happen for the same image.

The inspect tool tells me on my site the following:
log:

WebSocket connection to 'ws://127.0.0.1:8080/events' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
t.setupConnection @ app.js:3247
r @ lodash.js:4935

image:
<img tg-project-logo-big-src="project._attrs" alt="logo" class="image" src="http://localhost:8080/media/project/2/a/f/2/fde42416853450ee23d74f43685ee45e61f5cdfc074b66c924b57eb3f4b0/phd_180.png.300x300_q85_crop.png" style="">

I use a reverse proxy, which forwards the traffic to a dedicated URL.

My docker compose file:

version: "3.7"

x-taiga-common: &taiga-common
  image: devinsolutions/taiga:latest
  volumes:
    - type: bind
      source: /share/cloud_services/taiga/media
      target: /srv/taiga-back/media
    - /share/Containers/config_templates/taiga/front.json:/etc/opt/taiga-front/conf.json:ro
    - /share/Containers/config_templates/taiga/settings.py:/etc/opt/taiga-back/settings.py:ro
services:

  broker:
    image: rabbitmq:3.7
    environment:
      RABBITMQ_DEFAULT_VHOST: taiga
      RABBITMQ_NODENAME: rabbit@localhost
    volumes:
      - broker:/var/lib/rabbitmq
    networks:
      - backend

  database:
    image: postgres:11
    environment:
      POSTGRES_DB: taiga
      POSTGRES_PASSWORD: MY_SUPER_SECRET_PASSWORD
      POSTGRES_USER: taiga
    stop_signal: SIGINT
    volumes:
      - type: bind
        source: /share/cloud_services/taiga/db
        target: /var/lib/postgresql/data
    networks:
      - backend

  events:
    image: devinsolutions/taiga-events:latest
    deploy:
      replicas: 1
      update_config:
        order: start-first
    healthcheck:
      interval: 5s
      # Taiga-events seems unable to reconnect to message broker when connection cannot be
      # established or is closed. There also does not seem to be another way to tell if the server
      # is actually able to communicate with the broker.
      test: "wget -q -t 1 http://localhost:8080 2>&1 | grep -q '426 Upgrade Required' &&
        ! egrep -m 1 -q '^Unhandled rejection ' /var/log/taiga-events.log"
    volumes:
      - /share/Containers/config_templates/taiga/events.json:/etc/opt/taiga-events/config.json:ro
    networks:
      - backend

  migrations:
    <<: *taiga-common
    command:
      - migrate
      # Make sure this command is run only during the initial setup as it will
      # overwrite existing data.
      # - populate-db
    deploy:
      restart_policy:
        condition: on-failure
        delay: 5s
    networks:
      - backend

  reverse-proxy:
    image: nginx:1.17
    #ports:
    #  - "9187:80"
    stop_signal: SIGQUIT
    volumes:
      - /share/Containers/config_templates/taiga/default.conf:/etc/nginx/conf.d/default.conf:ro
    networks:
      - backend
      - reverse_proxy
    environment:
      - VIRTUAL_HOST=MY_URL
      - LETSENCRYPT_HOST=MY_URL

  server:
    <<: *taiga-common
    command: run-server
    deploy:
      replicas: 1
      update_config:
        order: start-first
    environment:
      UWSGI_HTTP: ~
      UWSGI_HTTP_SOCKET: :8080
      UWSGI_OFFLOAD_THREADS: 4
      UWSGI_UWSGI_SOCKET: :3031
    healthcheck:
      test: wget -q -t 1 --spider http://localhost:8080/api/v1/
    stop_signal: SIGHUP
    networks:
      - backend

volumes:
  broker:

networks:
  backend:
    name: taiga_backend
  reverse_proxy:
    external: true

My default.conf:

server {
    listen 80 default_server;
    server_name _;

    charset utf-8;
    client_max_body_size 50M;
    large_client_header_buffers 4 32k;
    resolver 127.0.0.11 valid=0s;

    location / {
        set $upstream_server server;
        uwsgi_pass $upstream_server:3031;
        include uwsgi_params;
    }

    location /events {
        set $upstream_events events;
        proxy_pass http://$upstream_events:8080/events;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout 7d;
        proxy_read_timeout 7d;
        proxy_send_timeout 7d;
    }
}

My front.json (i assume the culprit will be somewhere here...):

{
    "api": "/api/v1/",
    "eventsUrl": "ws://127.0.0.1:8080/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "supportUrl": "https://tree.taiga.io/support/",
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "GDPRUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true,
    "rtlLanguages": ["fa"]
}

My events.json:

{
    "url": "amqp://guest:guest@broker/taiga",
    "secret": "<secret key>",
    "webSocketServer": {
        "port": 8080
    }
}

My settings.py:

SECRET_KEY = '<secret key>'
PUBLIC_REGISTER_ENABLED = False

ALLOWED_HOSTS = [
    '127.0.0.1',
    'localhost',
    'MY_URL'
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'taiga',
        'USER': 'taiga',
        'PASSWORD': 'MY_SUPER_SECRET_PASSWORD',
        'HOST': 'database',
        'PORT': '5432',
    }
}

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://guest:guest@broker/taiga"}

Do you have any idea what's wrong here?

Thank you in advance!

Cheers,
Sandro

username and login

After fresh install on vps with ubuntu 18.04 lts - login screen shows - but can not login with default admin 123123 (not sure this works on your version) and can not sign up. Getting the error message.

Permission denied [core/socket.c line 230]

Hi,
I have an issue starting the latest taiga build on docker with Ubuntu Server 18.04.

The taiga_server shuts permanently down with the following error message:
bind(): Permission denied [core/socket.c line 230]

You linked to the USWGI documentation page, so I copied your ini and tried to set the socket manually, but the problem still exists. Some posts suggest to move the socket to /tmp but yet the same issue.

My USWGI environmental variables are set according to the compose file you provide:

UWSGI_HTTP = ~
UWSGI_HTTP_SOCKET = 8080
UWSGI_OFFLOAD_THREADS = 4
UWSGI_UWSGI_SOCKET = 3031

It's a permission problem for sure, but the container shuts down before I'm able to login to check some permissions.

Do you have any ideas?

Best,
Sandro

P.S. The full log is here

Post-processed 'img/emojis/page_facing_up.png' as 'img/emojis/page_facing_up.badfd4374777.png',
Post-processed 'img/emojis/last_quarter_moon.png' as 'img/emojis/last_quarter_moon.113eee6c339a.png',
Post-processed 'img/emojis/cry.png' as 'img/emojis/cry.066f0a8e8007.png',
Post-processed 'img/emojis/bride_with_veil.png' as 'img/emojis/bride_with_veil.479589c75ef7.png',
Post-processed 'img/emojis/+1.png' as 'img/emojis/+1.1265e19214d7.png',
Post-processed 'img/emojis/bow.png' as 'img/emojis/bow.359171114114.png',
Post-processed 'img/emojis/repeat_one.png' as 'img/emojis/repeat_one.f90e83153756.png',
Post-processed 'img/emojis/suspect.png' as 'img/emojis/suspect.a358405d03a8.png',
Post-processed 'img/emojis/flags.png' as 'img/emojis/flags.4035d7f64a33.png',
Post-processed 'img/emojis/full_moon.png' as 'img/emojis/full_moon.28d128a7ecf0.png',
Post-processed 'img/emojis/grapes.png' as 'img/emojis/grapes.ae15bf11a8e5.png',
Post-processed 'img/emojis/squirrel.png' as 'img/emojis/squirrel.953181108406.png',
Post-processed 'img/emojis/person_with_blond_hair.png' as 'img/emojis/person_with_blond_hair.6311643e3030.png',
Post-processed 'img/emojis/hibiscus.png' as 'img/emojis/hibiscus.6f8b58bbdda6.png',
Post-processed 'img/emojis/japan.png' as 'img/emojis/japan.2c12e9d07818.png',
Post-processed 'img/emojis/kr.png' as 'img/emojis/kr.a7ce8fbc4938.png',
Post-processed 'img/emojis/earth_africa.png' as 'img/emojis/earth_africa.b9fbdb7424c9.png',
Post-processed 'img/emojis/umbrella.png' as 'img/emojis/umbrella.4c1ce20c95a6.png',
Post-processed 'img/emojis/rocket.png' as 'img/emojis/rocket.95e468d6ef70.png',
Post-processed 'img/emojis/maple_leaf.png' as 'img/emojis/maple_leaf.b02a511bb0d9.png',
Post-processed 'img/emojis/no_mobile_phones.png' as 'img/emojis/no_mobile_phones.e96a32aa5ed2.png',
Post-processed 'emails/logo-web.png' as 'emails/logo-web.5589906ac9dc.png',
Post-processed 'emails/logo-twitter.png' as 'emails/logo-twitter.36870cca84d9.png',
Post-processed 'emails/top-bg-update.png' as 'emails/top-bg-update.ecc2bd74400e.png',
Post-processed 'emails/logo.png' as 'emails/logo.4db5dc4e03fb.png',
Post-processed 'emails/logo-color.png' as 'emails/logo-color.7dd421a9b797.png',
Post-processed 'emails/top-bg-hero.png' as 'emails/top-bg-hero.62b5908dae16.png',
Post-processed 'emails/logo-github.png' as 'emails/logo-github.d1f4495235c7.png',
Post-processed 'img/user-noimage.png' as 'img/user-noimage.5ce8fcc7f0e7.png',
Post-processed 'admin/css/base.css' as 'admin/css/base.6b517d0d5813.css',
Post-processed 'admin/css/dashboard.css' as 'admin/css/dashboard.7ac78187c567.css',
Post-processed 'admin/css/forms.css' as 'admin/css/forms.2003a066ae02.css',
Post-processed 'admin/css/rtl.css' as 'admin/css/rtl.4c867197b256.css',
Post-processed 'admin/css/login.css' as 'admin/css/login.a846c0e2ef65.css',
Post-processed 'admin/css/changelists.css' as 'admin/css/changelists.f6dc691f8d62.css',
Post-processed 'admin/css/fonts.css' as 'admin/css/fonts.494e4ec545c9.css',
Post-processed 'admin/css/widgets.css' as 'admin/css/widgets.5e372b41c483.css',
Post-processed 'admin/css/base.css' as 'admin/css/base.6b517d0d5813.css',
Post-processed 'admin/css/dashboard.css' as 'admin/css/dashboard.7ac78187c567.css',
Post-processed 'admin/css/forms.css' as 'admin/css/forms.2003a066ae02.css',
Post-processed 'admin/css/rtl.css' as 'admin/css/rtl.4c867197b256.css',
Post-processed 'admin/css/login.css' as 'admin/css/login.a846c0e2ef65.css',
Post-processed 'admin/css/changelists.css' as 'admin/css/changelists.f6dc691f8d62.css',
Post-processed 'admin/css/fonts.css' as 'admin/css/fonts.494e4ec545c9.css',
Post-processed 'admin/css/widgets.css' as 'admin/css/widgets.5e372b41c483.css',
,
941 static files copied to '/srv/taiga-back/static', 957 post-processed.,
[uWSGI] getting INI configuration from /usr/local/etc/uwsgi/uwsgi.ini,
*** Starting uWSGI 2.0.18 (64bit) on [Fri Apr 17 12:30:42 2020] ***,
compiled with version: 9.2.0 on 24 March 2020 11:05:59,
os: Linux-4.15.0-96-generic #97-Ubuntu SMP Wed Apr 1 03:25:46 UTC 2020,
nodename: 3740ddf5b593,
machine: x86_64,
clock source: unix,
pcre jit disabled,
detected number of CPU cores: 12,
current working directory: /opt/taiga-back,
detected binary path: /usr/local/bin/uwsgi,
*** dumping internal routing table ***,
[rule: 0] subject: path_info regexp: ^/favicon.ico$ action: goto:404,
[rule: 1] action: addheader:X-Content-Type-Options: nosniff,
[rule: 2] subject: path_info regexp: ^/((images|v-\d+)(/|$)|(conf.json|humans.txt|robots.txt)$) action: goto:front,
[rule: 3] subject: path_info regexp: ^/media(/|$) action: goto:media,
[rule: 4] subject: path_info regexp: ^/static(/|$) action: goto:static,
[rule: 5] action: addheader:X-Frame-Options: DENY,
[rule: 6] action: addheader:X-XSS-Protection: 1; mode=block,
[rule: 7] subject: path_info regexp: ^/(?!(admin|api)(/|$)) action: addheader:Cache-Control: no-cache, must-revalidate,
[rule: 8] subject: path_info regexp: ^/(?!(admin|api)(/|$)) action: static:/opt/taiga-front/index.html,
[rule: 9] action: last:,
[rule: 10] label: front,
[rule: 11] subject: path_info regexp: ^/(.*) action: rewrite:$1,
[rule: 12] subject: /opt/taiga-front/${PATH_INFO} func: isfile action: goto:front-file,
[rule: 13] action: goto:404,
[rule: 14] label: front-file,
[rule: 15] subject: path_info regexp: ^v-\d+/ action: addheader:Cache-Control: public, max-age=31536000,
[rule: 16] subject: path_info regexp: ^(?!v-\d+/) action: addheader:Cache-Control: no-cache, must-revalidate,
[rule: 17] action: static:/opt/taiga-front/${PATH_INFO},
[rule: 18] label: media,
[rule: 19] subject: path_info regexp: ^/media/(.*) action: rewrite:$1,
[rule: 20] subject: /srv/taiga-back/media/${PATH_INFO} func: isfile action: static:/srv/taiga-back/media/${PATH_INFO},
[rule: 21] action: goto:404,
[rule: 22] label: static,
[rule: 23] subject: path_info regexp: ^/static/(.*) action: rewrite:$1,
[rule: 24] subject: /srv/taiga-back/static/${PATH_INFO} func: isfile action: goto:static-file,
[rule: 25] action: goto:404,
[rule: 26] label: static-file,
[rule: 27] action: addheader:Cache-Control: public, max-age=31536000,
[rule: 28] action: static:/srv/taiga-back/static/${PATH_INFO},
[rule: 29] label: 404,
[rule: 30] action: addheader:Cache-Control: no-cache, must-revalidate,
[rule: 31] action: break:404 Not Found,
*** end of the internal routing table ***,
dir() to /opt/taiga-back,
your memory page size is 4096 bytes,
detected max file descriptor number: 1048576,
building mime-types dictionary from file /etc/mime.types...1183 entry found,
lock engine: pthread robust mutexes,
thunder lock: disabled (you can enable it with --thunder-lock),
bind(): Permission denied [core/socket.c line 230],```

django admin static files

Hi, i am trying your container. I use a slightly altered version of your docker-compose.yml .
Anyway setup went fine. I want to add regular users. Therefor i go to the /admin django admin page. But there the static content (css, js) is unavailable.

This post is about the same issue and there is a reply marked as a solution:
https://stackoverflow.com/questions/7241688/django-admin-css-missing/11299269

I added
STATIC_ROOT = 'static'
to my settings.py file, but i cannot go on

jaco@myserver~/projects/private-repo/taiga $ sudo docker exec -it  taiga_app_1  sh
/opt/taiga-back $ python manage.py collectstatic
Trying import local.py settings...
Copying '/usr/local/lib/python3.7/site-packages/django/contrib/admin/static/admin/js/timeparse.js'
Traceback (most recent call last):
...
PermissionError: [Errno 13] Permission denied: '/opt/taiga-back/static'

Isn't this something that should be done in the dockerfile ?

LDAP Support

Is there a documented way for installing in this image the taiga-contrib-ldap-auth-ext python package (or any other taiga extension) and configure the local.py as documented in the extension page?

I tried to manually install using docker exec on a running instance, but it fails:

docker exec -it abs-taiga_server pip install taiga-contrib-ldap-auth-ext

With this error log:

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/home/taiga' Check the permissions.

Thank you for the help, bye,
gabriele

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.