Focalboard

This commit is contained in:
Colin 2024-04-21 16:32:48 -04:00
parent 155eeafd3c
commit 5caf3ae773
17 changed files with 103 additions and 71 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -1,12 +1,12 @@
version: "3.9"
services:
loki:
focalboard:
build:
context: docker/loki
context: docker/focalboard
dockerfile: Dockerfile.production
image: git.nixc.us/nixius/loki:production-loki
grafana:
image: git.nixc.us/nixius/focalboard:production-focalboard
db:
build:
context: docker/grafana
context: docker/db
dockerfile: Dockerfile.production
image: git.nixc.us/nixius/loki:production-grafana
image: git.nixc.us/nixius/focalboard:production-db

View File

@ -1,12 +1,12 @@
version: "3.9"
services:
loki:
focalboard:
build:
context: docker/loki
context: docker/focalboard
dockerfile: Dockerfile
image: git.nixc.us/nixius/loki:staging-loki
grafana:
image: git.nixc.us/nixius/focalboard:staging-focalboard
db:
build:
context: docker/grafana
context: docker/db
dockerfile: Dockerfile
image: git.nixc.us/nixius/loki:staging-grafana
image: git.nixc.us/nixius/focalboard:staging-db

1
docker/db/Dockerfile Normal file
View File

@ -0,0 +1 @@
FROM postgres:latest

View File

@ -0,0 +1 @@
FROM git.nixc.us/nixius/focalboard:staging-db

View File

@ -0,0 +1 @@
FROM mattermost/focalboard

View File

@ -0,0 +1 @@
FROM git.nixc.us/nixius/focalboard:staging-focalboard

View File

@ -1 +0,0 @@
FROM grafana/loki:latest

View File

@ -1 +0,0 @@
FROM git.nixc.us/nixius/loki:staging-loki

View File

@ -1,35 +1,32 @@
version: "3.7"
services:
loki:
image: git.nixc.us/nixius/loki:production-loki
focalboard:
image: git.nixc.us/nixius/focalboard:production-focalboard
environment:
- VIRTUAL_HOST=focalboard.nixc.us
- VIRTUAL_PORT=8000
volumes:
- /root/tank/persist/nixc.us/loki/production/data/:/loki/
## must be owned by "nobody" example: `sudo chown -R nobody /mnt/tank/persist/focalboard/production/data/`
- "/mnt/tank/persist/nixc.us/focalboard/production/data/:/data"
- "/mnt/tank/persist/nixc.us/focalboard/production/config/config.json:/opt/focalboard/config.json"
deploy:
replicas: 1
labels:
homepage.group: apps
homepage.name: loki
homepage.href: https://loki.nixc.us/
homepage.description:
us.nixc.autodeploy: "true"
traefik.enable: "true"
traefik.http.routers.production_loki_loki.tls: "true"
traefik.http.services.production_loki_loki.loadbalancer.server.port: 3100
traefik.http.routers.production_loki_loki.rule: Host(`loki.nixc.us`)
traefik.http.routers.production_loki_loki.entrypoints: websecure
traefik.http.routers.production_loki_loki.tls.certresolver: letsencryptresolver
traefik.http.routers.production_loki_loki.service: production_loki_loki
traefik.docker.network: traefik
# - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker'
placement:
constraints:
- node.hostname == macmini3
- node.hostname == macmini2
labels:
- "traefik.enable=false"
networks:
- default
nginx:
image: codeberg.org/iridium-net/lan-to-nginx:latest
environment:
- BACKEND_ADDRESS=focalboard_focalboard
- BACKEND_PORT=8000
- PROTOCOL=http
networks:
- default
- traefik
- logging
grafana:
image: git.nixc.us/nixius/loki:production-grafana
deploy:
replicas: 1
labels:
@ -40,18 +37,32 @@ services:
us.nixc.autodeploy: "true"
traefik.enable: "true"
traefik.http.routers.production_grafana_grafana.tls: "true"
traefik.http.services.production_grafana_grafana.loadbalancer.server.port: 3000
traefik.http.services.production_grafana_grafana.loadbalancer.server.port: 80
traefik.http.routers.production_grafana_grafana.rule: Host(`grafana.nixc.us`)
traefik.http.routers.production_grafana_grafana.entrypoints: websecure
traefik.http.routers.production_grafana_grafana.tls.certresolver: letsencryptresolver
traefik.http.routers.production_grafana_grafana.service: production_grafana_grafana
traefik.docker.network: traefik
# - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker'
focalboard-db:
image: git.nixc.us/nixius/focalboard:production-db
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini2
labels:
- "traefik.enable=false"
volumes:
- "/mnt/tank/persist/nixc.us/focalboard/production/db:/var/lib/postgresql/data"
environment:
POSTGRES_DB: boards
POSTGRES_USER: boardsuser
POSTGRES_PASSWORD: boardsuser-password
networks:
- traefik
- logging
- default
networks:
traefik:
external: true
logging:
external: true
default:

View File

@ -1,30 +1,32 @@
version: "3.7"
services:
loki:
image: git.nixc.us/nixius/loki:staging-loki
focalboard:
image: git.nixc.us/nixius/focalboard:production-focalboard
environment:
- VIRTUAL_HOST=focalboard.nixc.us
- VIRTUAL_PORT=8000
# volumes:
# ## must be owned by "nobody" example: `sudo chown -R nobody /mnt/tank/persist/focalboard/production/data/`
# - "/mnt/tank/persist/nixc.us/focalboard/production/data/:/data"
# - "/mnt/tank/persist/nixc.us/focalboard/production/config/config.json:/opt/focalboard/config.json"
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini2
labels:
homepage.group: apps
homepage.name: loki
homepage.href: https://loki.nixc.us/
homepage.description:
us.nixc.autodeploy: "true"
traefik.enable: "true"
traefik.http.routers.staging_loki_loki.tls: "true"
traefik.http.services.staging_loki_loki.loadbalancer.server.port: 3100
traefik.http.routers.staging_loki_loki.rule: Host(`loki.nixc.us`)
traefik.http.routers.staging_loki_loki.entrypoints: websecure
traefik.http.routers.staging_loki_loki.tls.certresolver: letsencryptresolver
traefik.http.routers.staging_loki_loki.service: staging_loki_loki
traefik.docker.network: traefik
# - 'traefik.http.routers.staging_uptime_uptime.middlewares=authelia@docker'
- "traefik.enable=false"
networks:
- default
nginx:
image: codeberg.org/iridium-net/lan-to-nginx:latest
environment:
- BACKEND_ADDRESS=focalboard_focalboard
- BACKEND_PORT=8000
- PROTOCOL=http
networks:
- default
- traefik
grafana:
image: git.nixc.us/nixius/loki:staging-grafana
deploy:
replicas: 1
labels:
@ -34,16 +36,33 @@ services:
homepage.description:
us.nixc.autodeploy: "true"
traefik.enable: "true"
traefik.http.routers.staging_grafana_grafana.tls: "true"
traefik.http.services.staging_grafana_grafana.loadbalancer.server.port: 3000
traefik.http.routers.staging_grafana_grafana.rule: Host(`grafana.nixc.us`)
traefik.http.routers.staging_grafana_grafana.entrypoints: websecure
traefik.http.routers.staging_grafana_grafana.tls.certresolver: letsencryptresolver
traefik.http.routers.staging_grafana_grafana.service: staging_grafana_grafana
traefik.http.routers.production_grafana_grafana.tls: "true"
traefik.http.services.production_grafana_grafana.loadbalancer.server.port: 80
traefik.http.routers.production_grafana_grafana.rule: Host(`grafana.nixc.us`)
traefik.http.routers.production_grafana_grafana.entrypoints: websecure
traefik.http.routers.production_grafana_grafana.tls.certresolver: letsencryptresolver
traefik.http.routers.production_grafana_grafana.service: production_grafana_grafana
traefik.docker.network: traefik
# - 'traefik.http.routers.staging_uptime_uptime.middlewares=authelia@docker'
# - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker'
focalboard-db:
image: git.nixc.us/nixius/focalboard:production-db
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini2
labels:
- "traefik.enable=false"
# volumes:
# - "/mnt/tank/persist/nixc.us/focalboard/production/db:/var/lib/postgresql/data"
environment:
POSTGRES_DB: boards
POSTGRES_USER: boardsuser
POSTGRES_PASSWORD: boardsuser-password
networks:
- traefik
- default
networks:
traefik:
external: true
external: true
default: