Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Request: Planka (kanban board) #925

Open
johnpc opened this issue Dec 30, 2023 · 3 comments
Open

App Request: Planka (kanban board) #925

johnpc opened this issue Dec 30, 2023 · 3 comments

Comments

@johnpc
Copy link
Contributor

johnpc commented Dec 30, 2023

Planka is a self-hosted kanban board application that I use. Think self-hosted Trello. See https://planka.app for a demo / more information.

It is already dockerized (see https://github.com/plankanban/planka/blob/master/docker-compose.yml and installation documentation).

@smolgrrr
Copy link
Member

smolgrrr commented Jan 2, 2024

Thanks for the suggestion.
I will check this out now :)

@w0aw
Copy link

w0aw commented Feb 24, 2024

hey @smolgrrr, it would be better if try to add plane instead of this one. checkout plane

i have tried to run it locally but there is an routing issue. (they have seprate ui & apis container) and paths starting with /api and /space need to be routed on diff containers, i dont know how can i resolve this.

in their official docs they also provide another container called plane-proxy but it support to be run on host OS port 80 and we cant have multiple nginx reverse proxies together.

host: {{ .Values.ingress.appHost }}

http:
  paths:
    - backend:
        service:
          port: 3000
          name: {{ .Release.Name }}-web
        path: /
        pathType: Prefix
    - backend:
        service:
          port: 8000
          name: {{ .Release.Name }}-api
        path: /api
        pathType: Prefix
    - backend:
        service:
          port: 3000
          name: {{ .Release.Name }}-space
        path: /spaces
        pathType: Prefix
    - backend:
        service:
          port: 9000
          name: {{ .Release.Name }}-minio
        path: /{{ .Values.env.docstore_bucket }}
        pathType: Prefix
      {{- if .Values.minio.local_setup }}

i have tried this compose file (minio/s3 keys are missing but for testing i skipped it)

version: "3.8"

x-app-env: &app-env
    APP_RELEASE: latest
    WEB_URL: http://localhost:3000
    CORS_ALLOWED_ORIGINS: http://localhost:3000,http://localhost:3001,http://localhost:8000
    DEBUG: 1
    SENTRY_ENVIRONMENT: production
    NEXT_PUBLIC_DEPLOY_URL: http://localhost:3001
    NEXT_PUBLIC_API_BASE_URL: http://localhost:8000
    # Gunicorn Workers
    GUNICORN_WORKERS: 2
    #DB SETTINGS
    PGHOST: postgres
    PGDATABASE: plane
    POSTGRES_USER: plane
    POSTGRES_PASSWORD: moneyprintergobrr
    POSTGRES_DB: plane
    PGDATA: /var/lib/postgresql/data
    DATABASE_URL: postgresql://plane:moneyprintergobrr@postgres/plane
    # REDIS SETTINGS
    REDIS_HOST: redis
    REDIS_PORT: 6379
    REDIS_URL: redis://redis:6379/
    # Application secret
    SECRET_KEY: 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5
    # DATA STORE SETTINGS
    # USE_MINIO: 1
    # AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-"access-key"}
    # AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-"secret-key"}
    # AWS_S3_ENDPOINT_URL: ${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
    # AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
    # MINIO_ROOT_USER: ${MINIO_ROOT_USER:-"access-key"}
    # MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-"secret-key"}
    # BUCKET_NAME: ${BUCKET_NAME:-uploads}
    # FILE_SIZE_LIMIT: 5242880

services:
    web:
        image: makeplane/plane-frontend:latest
        container_name: web
        restart: on-failure
        command: /usr/local/bin/start.sh web/server.js web
        environment:
            <<: *app-env
        ports:
            - "3000:3000"
        depends_on:
            - api
            - worker

    space:
        image: makeplane/plane-space:latest
        container_name: space
        restart: on-failure
        command: /usr/local/bin/start.sh space/server.js space
        ports:
            - "3001:3000"
        environment:
            <<: *app-env
        depends_on:
            - api
            - worker
            - web

    worker:
        image: makeplane/plane-backend:latest
        container_name: worker
        restart: on-failure
        command: ./bin/worker
        environment:
            <<: *app-env
        depends_on:
            - api
            - postgres
            - redis

    beat-worker:
        image: makeplane/plane-backend:latest
        container_name: beat-worker
        restart: on-failure
        command: ./bin/beat
        environment:
            <<: *app-env
        depends_on:
            - api
            - postgres
            - redis

    api:
        image: makeplane/plane-backend:latest
        container_name: api
        restart: on-failure
        stop_grace_period: 1m
        command: ./bin/takeoff
        ports:
            - "8000:8000"
        environment:
            <<: *app-env
        depends_on:
            - postgres
            - redis

    migrator:
        image: makeplane/plane-backend:latest
        container_name: migrator
        restart: on-failure
        stop_grace_period: 1m
        command: >
            sh -c "python manage.py wait_for_db &&
                python manage.py migrate"
        environment:
            <<: *app-env
        depends_on:
            - postgres
            - redis

    redis:
        image: redis:7.2.4-alpine
        container_name: redis
        restart: on-failure
        stop_grace_period: 1m
        environment:
            <<: *app-env
        # volumes:
        #     - ${APP_DATA_DIR}/data/redis:/data

    postgres:
        image: postgres:16.2-alpine
        container_name: postgres
        restart: on-failure
        stop_grace_period: 1m
        environment:
            <<: *app-env
        command: postgres -c 'max_connections=1000'
        # volumes:
        #     - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data

i Hope it'll helpfull in future for someone. it would be great to have apps like it on umbrel

@highghlow
Copy link
Contributor

I have started working on this request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants