mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-13 19:00:22 +00:00
project mgmt
This commit is contained in:
parent
45861a60b0
commit
39dbd9b7e3
13
README.md
13
README.md
@ -151,12 +151,13 @@ So, without further ado, here's the current list:
|
|||||||
- [picapport](https://www.picapport.de/en/index.php) - weird
|
- [picapport](https://www.picapport.de/en/index.php) - weird
|
||||||
|
|
||||||
# Project Management
|
# Project Management
|
||||||
- Jira
|
- [Jira](apps/project-mgmt/jira.md)
|
||||||
- Kanboard
|
- [Kanboard](apps/project-mgmt/kanboard.md)
|
||||||
- OpenProject
|
- [OpenProject](apps/project-mgmt/open-project.md)
|
||||||
- Planka
|
- [Planka](apps/project-mgmt/planka.md)
|
||||||
- Vikunja
|
- [Vikunja](apps/project-mgmt/vikunja.md)
|
||||||
- Wekan
|
- [Wekan](apps/project-mgmt/wekan.md)
|
||||||
|
- [Taskcafe](https://github.com/JordanKnott/taskcafe) [external] - early stage, active development.
|
||||||
|
|
||||||
|
|
||||||
# Reverse proxy & SSO
|
# Reverse proxy & SSO
|
||||||
|
49
apps/project-mgmt/jira.md
Normal file
49
apps/project-mgmt/jira.md
Normal file
@ -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.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [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.
|
||||||
|
|
||||||
|

|
BIN
apps/project-mgmt/jira.png
Normal file
BIN
apps/project-mgmt/jira.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 227 KiB |
35
apps/project-mgmt/kanboard.md
Normal file
35
apps/project-mgmt/kanboard.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Kanboard
|
||||||
|
|
||||||
|
- some UI bugs (double scrollbar)
|
||||||
|
- not the best look (outdated themes)
|
||||||
|
- pretty solid & stable
|
||||||
|
- lots of options
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [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`
|
29
apps/project-mgmt/open-project.md
Normal file
29
apps/project-mgmt/open-project.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Open Project
|
||||||
|
Full-featured & complicated.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [Homepage](https://openproject.org/)
|
||||||
|
- [Github repo](https://github.com/opf/openproject)
|
||||||
|
- [Docs](https://docs.openproject.org/)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## 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
|
||||||
|
```
|
BIN
apps/project-mgmt/openproject.png
Normal file
BIN
apps/project-mgmt/openproject.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
50
apps/project-mgmt/planka.md
Normal file
50
apps/project-mgmt/planka.md
Normal file
@ -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`
|
67
apps/project-mgmt/vikunja.md
Normal file
67
apps/project-mgmt/vikunja.md
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# Vikujna
|
||||||
|
|
||||||
|
- poor and messy UI
|
||||||
|
- buggy (at the time of testing) but in active development
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [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
|
||||||
|
```
|
48
apps/project-mgmt/wekan.md
Normal file
48
apps/project-mgmt/wekan.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# Wekan
|
||||||
|
|
||||||
|
Probably the best of the ones tested. A good balance between features & complexity and a nice UI.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [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
|
Loading…
Reference in New Issue
Block a user