diff --git a/README.md b/README.md index 22d5623..efeb8ca 100644 --- a/README.md +++ b/README.md @@ -151,12 +151,13 @@ So, without further ado, here's the current list: - [picapport](https://www.picapport.de/en/index.php) - weird # Project Management -- Jira -- Kanboard -- OpenProject -- Planka -- Vikunja -- Wekan +- [Jira](apps/project-mgmt/jira.md) +- [Kanboard](apps/project-mgmt/kanboard.md) +- [OpenProject](apps/project-mgmt/open-project.md) +- [Planka](apps/project-mgmt/planka.md) +- [Vikunja](apps/project-mgmt/vikunja.md) +- [Wekan](apps/project-mgmt/wekan.md) +- [Taskcafe](https://github.com/JordanKnott/taskcafe) [external] - early stage, active development. # Reverse proxy & SSO diff --git a/apps/project-mgmt/jira.md b/apps/project-mgmt/jira.md new file mode 100644 index 0000000..fcb096c --- /dev/null +++ b/apps/project-mgmt/jira.md @@ -0,0 +1,49 @@ +# Jira + +- The most feature rich and complete solution with long history and wide support. +- The new (March 2021) pricing model makes it prohibitive for regular users. + +
+ +- [Homepage](https://www.atlassian.com/software/jira/download) +- [DockerHub repo](https://hub.docker.com/r/atlassian/jira-software) + + +## docker-compose.yml +```yml +--- +version: '3' +services: + jira: + image: atlassian/jira-software + container_name: jira + restart: unless-stopped + environment: + - TZ=Europe/Dublin + - JVM_MINIMUM_MEMORY=4096m + - JVM_MAXIMUM_MEMORY=8192m + - ATL_PROXY_NAME=jira.example.com + - ATL_PROXY_PORT=443 + - ATL_TOMCAT_SCHEME=https + - ATL_TOMCAT_SECURE=true + - ATL_AUTOLOGIN_COOKIE_AGE=2592000 # 30 days in seconds + ports: + - "8095:8080" + volumes: + - ./data:/var/atlassian/application-data/jira + + db: + image: postgres + restart: unless-stopped + environment: + - POSTGRES_USER=dbuser1 + - POSTGRES_PASSWORD=dbpass1 +``` + +## Tips & Tricks + +### First run DB setup: +It's better to user postgres, as the support is built-in. +MySQL requires additional drivers to be installed manually. + +![setup](jira.png) diff --git a/apps/project-mgmt/jira.png b/apps/project-mgmt/jira.png new file mode 100644 index 0000000..4b1db8e Binary files /dev/null and b/apps/project-mgmt/jira.png differ diff --git a/apps/project-mgmt/kanboard.md b/apps/project-mgmt/kanboard.md new file mode 100644 index 0000000..60afa25 --- /dev/null +++ b/apps/project-mgmt/kanboard.md @@ -0,0 +1,35 @@ +# Kanboard + +- some UI bugs (double scrollbar) +- not the best look (outdated themes) +- pretty solid & stable +- lots of options + +
+ +- [Homepage](https://kanboard.org/) +- [Github repo](https://github.com/kanboard/kanboard) +- [Docs](https://docs.kanboard.org/en/latest/admin_guide/installation.html) + +![Screenshot]() + + +## docker-compose.yml +```yml +version: '2' +services: + kanboard: + image: kanboard/kanboard:latest + environment: + - PLUGIN_INSTALLER=true + ports: + - "3060:80" +# - "443:443" + volumes: + - ./data:/var/www/app/data + - ./plugins:/var/www/app/plugins +# - kanboard_ssl:/etc/nginx/ssl +``` + +## Tips & Tricks +login with `admin:admin` diff --git a/apps/project-mgmt/open-project.md b/apps/project-mgmt/open-project.md new file mode 100644 index 0000000..176d341 --- /dev/null +++ b/apps/project-mgmt/open-project.md @@ -0,0 +1,29 @@ +# Open Project +Full-featured & complicated. + +
+ +- [Homepage](https://openproject.org/) +- [Github repo](https://github.com/opf/openproject) +- [Docs](https://docs.openproject.org/) + +![Screenshot](openproject.png) + + +## docker-compose.yml +```yml +--- +version: '3' +services: + openproject: + image: openproject/community + container_name: openproject + restart: unless-stopped + environment: + - SECRET_KEY_BASE=secret_key + ports: + - "3090:80" + volumes: + - ./pgdata:/var/openproject/pgdata + - ./assets:/var/openproject/assets +``` diff --git a/apps/project-mgmt/openproject.png b/apps/project-mgmt/openproject.png new file mode 100644 index 0000000..0530466 Binary files /dev/null and b/apps/project-mgmt/openproject.png differ diff --git a/apps/project-mgmt/planka.md b/apps/project-mgmt/planka.md new file mode 100644 index 0000000..8b7134f --- /dev/null +++ b/apps/project-mgmt/planka.md @@ -0,0 +1,50 @@ +# Planka + +- [Homepage](https://planka.app/) +- [Github repo](https://github.com/plankanban/planka) + + +## docker-compose.yml +```yml +--- +version: '3' +services: + planka: + image: meltyshev/planka:latest + command: > + bash -c + "for i in `seq 1 30`; do + ./start.sh && + s=$$? && break || s=$$?; + echo \"Tried $$i times. Waiting 5 seconds...\"; + sleep 5; + done; (exit $$s)" + restart: unless-stopped + volumes: + - ./avatars:/app/public/user-avatars + - ./background-images:/app/public/project-background-images + - ./attachments:/app/public/attachments + ports: + - 3123:1337 + environment: + - BASE_URL=http://localhost:3123 + - DATABASE_URL=postgresql://postgres@postgres/planka + - SECRET_KEY=VCFh2BiD6N202jR2jYcp22FqfJfaUg2omTB2MlAZp7o= + depends_on: + - postgres + + postgres: + image: postgres:12-alpine + restart: unless-stopped + volumes: + - ./db:/var/lib/postgresql/data + environment: + - POSTGRES_DB=planka + - POSTGRES_HOST_AUTH_METHOD=trust +``` + + +## Tips & Tricks +Login with: +- email: `demo@demo.demo` +- pass: `demo` diff --git a/apps/project-mgmt/vikunja.md b/apps/project-mgmt/vikunja.md new file mode 100644 index 0000000..2e9c484 --- /dev/null +++ b/apps/project-mgmt/vikunja.md @@ -0,0 +1,67 @@ +# Vikujna + +- poor and messy UI +- buggy (at the time of testing) but in active development + +
+ +- [Homepage](https://vikunja.io/) +- [Git repo](https://kolaente.dev/vikunja/) +- [Demo](https://try.vikunja.io/login) + + +## docker-compose.yml +```yml +version: '3' +services: + api: + image: vikunja/api + container_name: vikunja-api + restart: unless-stopped + environment: + - VIKUNJA_SERVICE_TIMEZONE=Europe/Dublin + - VIKUNJA_SERVICE_ENABLEREGISTRATION=false + - VIKUNJA_SERVICE_JWTSECRET=ce23d1aezoosah2bao3ieZohkae5aicah + - VIKUNJA_CACHE_ENABLED=true + - VIKUNJA_CACHE_TYPE=memory + volumes: + - ./vikunja.db:/app/vikunja/vikunja.db + - ./files:/app/vikunja/files + + frontend: + image: vikunja/frontend + container_name: vikunja-ui + restart: unless-stopped + + proxy: + image: nginx + restart: unless-stopped + ports: + - 3111:80 + depends_on: + - api + - frontend + volumes: + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro +``` + +## nginx.conf +```nginx +server { + listen 80; + location / { + proxy_pass http://frontend:80; + } + location ~* ^/(api|dav|\.well-known)/ { + proxy_pass http://api:3456; + client_max_body_size 20M; + } +} +``` + + +## Tips & Tricks +Before running, ake sure that db file exists first: +```sh +touch vikunja.db +``` diff --git a/apps/project-mgmt/wekan.md b/apps/project-mgmt/wekan.md new file mode 100644 index 0000000..d899127 --- /dev/null +++ b/apps/project-mgmt/wekan.md @@ -0,0 +1,48 @@ +# Wekan + +Probably the best of the ones tested. A good balance between features & complexity and a nice UI. + +
+ +- [Homepage](https://wekan.github.io/) +- [Github repo](https://github.com/wekan/wekan) +- [Docs](https://github.com/wekan/wekan/wiki) + +## docker-compose.yml +```yml +--- +version: '2' +services: + wekandb: + image: mongo:latest + container_name: wekan-db + restart: unless-stopped + command: mongod --oplogSize 128 + expose: + - 27017 + volumes: + - ./db:/data/db + - ./db-dump:/dump + + wekan: + image: wekanteam/wekan + container_name: wekan-app + restart: unless-stopped + ports: + - 3090:8080 + environment: + - MONGO_URL=mongodb://wekandb:27017/wekan + - ROOT_URL=http://localhost:3090 + - WITH_API=true # Wekan Export Board works when WITH_API=true. + - RICHER_CARD_COMMENT_EDITOR=false + - CARD_OPENED_WEBHOOK_ENABLED=false + - BIGEVENTS_PATTERN=NONE + - BROWSER_POLICY_ENABLED=true + depends_on: + - wekandb +``` + +## Tips & Tricks +- Creating users and logging-in: https://github.com/wekan/wekan/wiki/Adding-users +- Forgot password: https://github.com/wekan/wekan/wiki/Forgot-Password +- Backup/Restore: https://github.com/wekan/wekan/wiki/Backup