mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-13 02:41:16 +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
|
||||
|
||||
# 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
|
||||
|
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