mirror of
https://github.com/runyanjake/olomana.git
synced 2025-10-04 13:27:28 -07:00
Compare commits
6 Commits
bad1fc817e
...
dd70ad3dbd
Author | SHA1 | Date | |
---|---|---|---|
dd70ad3dbd | |||
c29775050c | |||
bc87de3f2a | |||
7d44cc150e | |||
64cc36b31f | |||
c3b3737731 |
6
productivity/flatnotes/.env.example
Normal file
6
productivity/flatnotes/.env.example
Normal file
@ -0,0 +1,6 @@
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
FLATNOTES_AUTH_TYPE="password"
|
||||
FLATNOTES_USERNAME="user"
|
||||
FLATNOTES_PASSWORD="password"
|
||||
FLATNOTES_SECRET_KEY="aLongRandomSeriesOfCharacters"
|
1
productivity/flatnotes/.gitignore
vendored
Normal file
1
productivity/flatnotes/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
0
productivity/flatnotes/README.md
Normal file
0
productivity/flatnotes/README.md
Normal file
21
productivity/flatnotes/docker-compose.yml
Normal file
21
productivity/flatnotes/docker-compose.yml
Normal file
@ -0,0 +1,21 @@
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
flatnotes:
|
||||
container_name: flatnotes
|
||||
image: dullage/flatnotes:latest
|
||||
networks:
|
||||
- traefik
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- "/pwspool/software/flatnotes:/data"
|
||||
- "/pwspool/software/flatnotes/index"
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- traefik.http.routers.flatnotes.rule=Host(`flatnotes.whitney.rip`)
|
||||
- traefik.http.routers.flatnotes.tls=true
|
||||
- traefik.http.routers.flatnotes.tls.certresolver=lets-encrypt
|
||||
- traefik.http.services.flatnotes.loadbalancer.server.port=8080
|
4
productivity/openproject/.env.example
Normal file
4
productivity/openproject/.env.example
Normal file
@ -0,0 +1,4 @@
|
||||
OPENPROJECT_SECRET_KEY_BASE=change-me-to-a-secure-random-value
|
||||
OPENPROJECT_HOST__NAME=openproject.example.com
|
||||
OPENPROJECT_HTTPS=true
|
||||
OPENPROJECT_DEFAULT__LANGUAGE=en
|
1
productivity/openproject/.gitignore
vendored
Normal file
1
productivity/openproject/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
8
productivity/openproject/README.md
Normal file
8
productivity/openproject/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
# OpenProject
|
||||
Open source project management software.
|
||||
|
||||
# Setup
|
||||
1. Configure `.env`, see example.
|
||||
- Note to specify `OPENPROJECT_HOST__NAME` without protocol.
|
||||
2. Configure users.
|
||||
- Default admin user is `admin:admin`.
|
21
productivity/openproject/docker-compose.yml
Normal file
21
productivity/openproject/docker-compose.yml
Normal file
@ -0,0 +1,21 @@
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
|
||||
services:
|
||||
openproject:
|
||||
image: openproject/openproject:16
|
||||
container_name: openproject
|
||||
restart: always
|
||||
networks:
|
||||
- traefik
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- /pwspool/software/openproject/data:/var/openproject/assets
|
||||
labels:
|
||||
- traefik.http.routers.openproject.rule=Host(`pm.whitney.rip`)
|
||||
- traefik.http.routers.openproject.tls=true
|
||||
- traefik.http.routers.openproject.tls.certresolver=lets-encrypt
|
||||
- traefik.http.services.openproject.loadbalancer.server.port=8080
|
||||
|
21
productivity/taiga/.env.example
Normal file
21
productivity/taiga/.env.example
Normal file
@ -0,0 +1,21 @@
|
||||
DOMAIN=taiga.example.com
|
||||
TAIGA_SECRET_KEY=change-this-to-a-secure-random-string
|
||||
TAIGA_ADMIN_USERNAME=admin
|
||||
TAIGA_ADMIN_EMAIL=admin@example.com
|
||||
TAIGA_ADMIN_PASSWORD=admin
|
||||
|
||||
# Postgres
|
||||
POSTGRES_HOST=postgres
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_USER=taiga_user
|
||||
POSTGRES_PASSWORD=securepassword
|
||||
POSTGRES_DB=taiga
|
||||
|
||||
# RabbitMQ
|
||||
RABBITMQ_HOST=rabbitmq
|
||||
RABBITMQ_USER=taiga_user
|
||||
RABBITMQ_PASSWORD=securepassword
|
||||
|
||||
CELERY_ENABLED=False
|
||||
CELERY_BROKER=amqp://${RABBITMQ_USER}:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}:5672/
|
||||
CELERY_ALWAYS_EAGER=False
|
1
productivity/taiga/.gitignore
vendored
Normal file
1
productivity/taiga/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
12
productivity/taiga/README.md
Normal file
12
productivity/taiga/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# Taiga
|
||||
Open source Agile project management tool.
|
||||
|
||||
## Setup
|
||||
1. Fill out `.env` from the example. You are supposed to be able to set admin credentials here but I had issues with that. Use a util like `openssl` for key generation.
|
||||
2. Setup credentials using python util:
|
||||
```
|
||||
docker exec -it taiga-back python3 manage.py createsuperuser --username admin --email admin@example.com
|
||||
```
|
||||
```
|
||||
```
|
||||
Note: I had issues doing this call while RabbitMQ was enabled via this Celery util. I set `CELERY_ENABLED=false` to get the call to work. This is supposed to have us use some slower utility as an alternative. AI assured me I could re-enable after the fact but I did not just to be safe.
|
80
productivity/taiga/docker-compose.yml
Normal file
80
productivity/taiga/docker-compose.yml
Normal file
@ -0,0 +1,80 @@
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
taiga:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
taiga-front:
|
||||
image: taigaio/taiga-front:latest
|
||||
container_name: taiga-front
|
||||
restart: always
|
||||
environment:
|
||||
- TAIGA_API_URL=https://${DOMAIN}/api/v1
|
||||
- TAIGA_EVENTS_URL=wss://${DOMAIN}/events
|
||||
networks:
|
||||
- taiga
|
||||
- traefik
|
||||
depends_on:
|
||||
- taiga-back
|
||||
labels:
|
||||
- traefik.http.routers.taiga.rule=Host(`${DOMAIN}`)
|
||||
- traefik.http.routers.taiga.tls=true
|
||||
- traefik.http.routers.taiga.tls.certresolver=lets-encrypt
|
||||
- traefik.http.services.taiga.loadbalancer.server.port=80
|
||||
|
||||
taiga-back:
|
||||
image: taigaio/taiga-back:latest
|
||||
container_name: taiga-back
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- /pwspool/software/taiga/back/data:/taiga-back/data
|
||||
- /pwspool/software/taiga/back/media:/taiga-back/media
|
||||
networks:
|
||||
- taiga
|
||||
- traefik
|
||||
depends_on:
|
||||
- postgres
|
||||
- rabbitmq
|
||||
- taiga-events
|
||||
labels:
|
||||
- traefik.http.routers.taiga-back.rule=Host(`${DOMAIN}`) && PathPrefix(`/api`)
|
||||
- traefik.http.routers.taiga-back.tls=true
|
||||
- traefik.http.routers.taiga-back.tls.certresolver=lets-encrypt
|
||||
- traefik.http.services.taiga-back.loadbalancer.server.port=8000
|
||||
|
||||
taiga-events:
|
||||
image: taigaio/taiga-events:latest
|
||||
container_name: taiga-events
|
||||
restart: always
|
||||
environment:
|
||||
- TAIGA_SECRET=${TAIGA_SECRET_KEY}
|
||||
- TAIGA_BACK_HOST=http://taiga-back:8000
|
||||
networks:
|
||||
- taiga
|
||||
|
||||
postgres:
|
||||
image: postgres:13
|
||||
container_name: taiga-db
|
||||
restart: always
|
||||
networks:
|
||||
- taiga
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- /pwspool/software/taiga/db:/var/lib/postgresql/data
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-management
|
||||
container_name: taiga-rabbitmq
|
||||
restart: always
|
||||
networks:
|
||||
- taiga
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USER}
|
||||
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}
|
||||
|
23
software/workflow/n8n/.env.example
Normal file
23
software/workflow/n8n/.env.example
Normal file
@ -0,0 +1,23 @@
|
||||
# n8n environment variables
|
||||
N8N_HOST=n8n.example.com
|
||||
N8N_PORT=5678
|
||||
WEBHOOK_TUNNEL_URL=https://n8n.example.com # if you want public webhooks
|
||||
|
||||
# n8n encryption key
|
||||
N8N_ENCRYPTION_KEY=1234567890abcdef1234567890abcdef
|
||||
|
||||
# n8n user authentication
|
||||
N8N_BASIC_AUTH_ACTIVE=true
|
||||
N8N_BASIC_AUTH_USER=admin
|
||||
N8N_BASIC_AUTH_PASSWORD=supersecretpassword
|
||||
|
||||
# Database
|
||||
DB_TYPE=postgresdb
|
||||
DB_POSTGRESDB_HOST=db
|
||||
DB_POSTGRESDB_PORT=5432
|
||||
DB_POSTGRESDB_DATABASE=n8n
|
||||
DB_POSTGRESDB_USER=n8n
|
||||
DB_POSTGRESDB_PASSWORD=n8npassword
|
||||
|
||||
# Other settings
|
||||
GENERIC_TIMEZONE=America/Los_Angeles
|
1
software/workflow/n8n/.gitignore
vendored
Normal file
1
software/workflow/n8n/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
6
software/workflow/n8n/README.md
Normal file
6
software/workflow/n8n/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
# N8N
|
||||
Workflow automation, selfhosted. See `https://github.com/n8n-io/n8n`.
|
||||
|
||||
## Setup
|
||||
1. After folder structure is created, first time setup will fail because we don't have access to the file system.
|
||||
- give ownership to user 1000, or set a specific user for n8n to run as.
|
54
software/workflow/n8n/docker-compose.yml
Normal file
54
software/workflow/n8n/docker-compose.yml
Normal file
@ -0,0 +1,54 @@
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
n8n:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: n8nio/n8n
|
||||
container_name: n8n
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- n8n
|
||||
- traefik
|
||||
environment:
|
||||
- N8N_HOST=${N8N_HOST}
|
||||
- N8N_PORT=${N8N_PORT}
|
||||
- WEBHOOK_TUNNEL_URL=${WEBHOOK_TUNNEL_URL}
|
||||
- N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
|
||||
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
|
||||
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
|
||||
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
|
||||
- DB_TYPE=${DB_TYPE}
|
||||
- DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST}
|
||||
- DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT}
|
||||
- DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE}
|
||||
- DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER}
|
||||
- DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD}
|
||||
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
|
||||
volumes:
|
||||
- /pwspool/software/n8n/.n8n:/home/node/.n8n
|
||||
depends_on:
|
||||
- db
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.n8n.rule=Host(`n8n.whitney.rip`)"
|
||||
- "traefik.http.routers.n8n.entrypoints=websecure"
|
||||
- "traefik.http.routers.n8n.tls=true"
|
||||
- "traefik.http.routers.n8n.tls.certresolver=lets-encrypt"
|
||||
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
|
||||
|
||||
db:
|
||||
image: postgres:15
|
||||
container_name: n8n-db
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- n8n
|
||||
environment:
|
||||
POSTGRES_USER: ${DB_POSTGRESDB_USER}
|
||||
POSTGRES_PASSWORD: ${DB_POSTGRESDB_PASSWORD}
|
||||
POSTGRES_DB: ${DB_POSTGRESDB_DATABASE}
|
||||
volumes:
|
||||
- /pwspool/software/n8n/data:/var/lib/postgresql/data
|
||||
|
Loading…
x
Reference in New Issue
Block a user