Add dashboard container

This commit is contained in:
2020-11-26 22:39:24 +00:00
parent 8bf189c3d5
commit 157d957076
5 changed files with 113 additions and 42 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

51
dashboard/config.ini Normal file
View File

@@ -0,0 +1,51 @@
[Settings]
theme = dark
accent = blueGrey
background = static/images/backgrounds/scarif.jpg
roles = admin
home_access_groups = admin_only
settings_access_groups = admin_only
custom_app_title = Scarif Command
sidebar_default = no_sidebar
[admin]
role = admin
password =
confirm_password =
[Tower]
prefix = https://
url = tower.scarif.local
icon = static/images/apps/nextcloud.png
sidebar_icon = static/images/apps/nextcloud.png
description = Imperial data store
open_in = this_tab
[Personel]
prefix = https://
url = personel.scarif.local
icon = static/images/icons/monica.svg
sidebar_icon = static/images/icons/monica.svg
description = Personel manifest
open_in = this_tab
[Labs]
prefix = https://
url = labs.scarif.local
icon = static/images/apps/gitea.png
sidebar_icon = static/images/apps/gitea.png
description = Top secret development projects
open_in = this_tab
[weather]
platform = weather
woeid = 44418
temp_unit = c
wind_speed_unit = kph
air_pressure_unit = mbar
visibility_unit = km
[Conditions]
type = custom
data_sources = weather

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" height="500" version="1.1" viewBox="0 0 500 500"><title>Artboard 3.1</title><desc>Created using Figma</desc><g id="Canvas" transform="translate(-2984 68)"><clipPath id="clip-0" clip-rule="evenodd"><path fill="#FFF" d="M 2984 -68L 3484 -68L 3484 432L 2984 432L 2984 -68Z"/></clipPath><g id="Artboard 3.1" clip-path="url(#clip-0)"><g id="Group 2"><g id="Oval"><use fill="#2C2B29" transform="translate(3002.51 -26.4788)" xlink:href="#path0_fill"/></g><g id="Oval"><use fill="#FFF" transform="translate(3047.56 17.3456)" xlink:href="#path1_fill"/></g><g id="Oval 2"><use fill="#2C2B29" transform="translate(2990 -39)" xlink:href="#path2_fill"/></g><g id="Oval 2"><use fill="#2C2B29" transform="matrix(-1 0 0 1 3478 -39)" xlink:href="#path2_fill"/></g><g id="Group"><g id="Oval 4"><use fill="#2B2A28" transform="translate(3265.32 122.647)" xlink:href="#path3_fill"/></g><g id="Oval 3"><use fill="#FFF" transform="translate(3292.63 154.768)" xlink:href="#path4_fill"/></g></g><g id="Group"><g id="Oval 4"><use fill="#2B2A28" transform="matrix(-1 0 0 1 3203.93 122.647)" xlink:href="#path3_fill"/></g><g id="Oval 3"><use fill="#FFF" transform="matrix(-1 0 0 1 3176.62 154.768)" xlink:href="#path4_fill"/></g></g><g id="Oval 5"><use fill="#2C2B29" transform="translate(3200.22 256.501)" xlink:href="#path5_fill"/></g></g></g></g><defs><path id="path0_fill" fill-rule="evenodd" d="M 235.425 429.479C 349.64 429.479 476.369 356.022 460.345 214.739C 444.321 73.4567 349.64 0 235.425 0C 121.21 0 27.2705 64.3949 2.77082 214.739C -21.7289 365.084 121.21 429.479 235.425 429.479Z"/><path id="path1_fill" fill-rule="evenodd" d="M 188.85 344.334C 280.47 344.334 382.128 285.44 369.274 172.167C 356.42 58.8939 280.47 0 188.85 0C 97.2312 0 21.8755 51.6286 2.22266 172.167C -17.4302 292.706 97.2312 344.334 188.85 344.334Z"/><path id="path2_fill" fill-rule="evenodd" d="M 65.5865 165.28C 78.0014 165.322 83.3945 120.9 105.565 100.675C 125.919 82.1083 172.677 75.742 172.677 54.2762C 172.677 9.42729 124.055 0 81.1199 0C 38.1853 0 0 45.4903 0 90.3392C 0 135.188 41.7747 165.201 65.5865 165.28Z"/><path id="path3_fill" fill-rule="evenodd" d="M 69.6 154.572C 102.094 146.823 115.643 133.157 115.643 88.997C 115.643 44.8368 94.944 0 59.3049 0C 23.6657 0 0 31.8863 0 76.0465C 0 120.207 37.106 162.32 69.6 154.572Z"/><path id="path4_fill" fill-rule="evenodd" d="M 30.3863 66.4287C 39.2286 66.4287 41.8586 64.1715 45.8555 59.1037C 50.3374 53.421 53.6797 46.8294 52.5868 33.2144C 50.7608 10.465 41.1736 0 22.4162 0C 3.6587 0 -3.78365e-16 14.4228 0 33.2144C -3.78365e-16 52.0059 11.6288 66.4287 30.3863 66.4287Z"/><path id="path5_fill" fill-rule="evenodd" d="M 35.2906 50.085C 52.9487 50.085 70.0718 24.0956 70.0718 12.9499C 70.0718 1.80416 52.6939 0 35.0359 0C 17.3779 0 0 1.80416 0 12.9499C 0 24.0956 17.6326 50.085 35.2906 50.085Z"/></defs></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,6 +1,21 @@
# Options for building certificates
x-certs: &certs
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
version: "3.4" version: "3.4"
services: services:
dashboard:
image: rmountjoy/dashmachine:latest
volumes:
- dashboard:/dashmachine/dashmachine/user_data
restart: always
networks:
- nginx
monica: monica:
build: ./monica build: ./monica
image: monica image: monica
@@ -107,53 +122,25 @@ services:
- monica-data:/var/www/html/monica/storage:ro - monica-data:/var/www/html/monica/storage:ro
- nextcloud:/var/www/html/nextcloud:ro - nextcloud:/var/www/html/nextcloud:ro
depends_on: depends_on:
- dashboard
- monica - monica
- nextcloud - nextcloud
- gitea - gitea
- omgwtfssl-monica - certs
- omgwtfssl-nextcloud
- omgwtfssl-gitea
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443
networks: networks:
- nginx - nginx
omgwtfssl-monica: certs:
image: paulczar/omgwtfssl <<: *certs
restart: "no"
volumes:
- certs:/certs
environment: environment:
- SSL_SUBJECT=personel.${DOMAIN} - SSL_SUBJECT=${DOMAIN}
- CA_SUBJECT=chris@${DOMAIN} - CA_SUBJECT=chris@${DOMAIN}
- SSL_KEY=/certs/personel.${DOMAIN}.key - SSL_KEY=/certs/${DOMAIN}.key
- SSL_CSR=/certs/personel.${DOMAIN}.csr - SSL_CSR=/certs/${DOMAIN}.csr
- SSL_CERT=/certs/personel.${DOMAIN}.crt - SSL_CERT=/certs/${DOMAIN}.crt
omgwtfssl-nextcloud:
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
environment:
- SSL_SUBJECT=tower.${DOMAIN}
- CA_SUBJECT=chris@${DOMAIN}
- SSL_KEY=/certs/tower.${DOMAIN}.key
- SSL_CSR=/certs/tower.${DOMAIN}.csr
- SSL_CERT=/certs/tower.${DOMAIN}.crt
omgwtfssl-gitea:
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
environment:
- SSL_SUBJECT=labs.${DOMAIN}
- CA_SUBJECT=chris@${DOMAIN}
- SSL_KEY=/certs/labs.${DOMAIN}.key
- SSL_CSR=/certs/labs.${DOMAIN}.csr
- SSL_CERT=/certs/labs.${DOMAIN}.crt
volumes: volumes:
db: db:
@@ -162,6 +149,7 @@ volumes:
nextcloud: nextcloud:
certs: certs:
gitea: gitea:
dashboard:
networks: networks:
db: db:

View File

@@ -75,8 +75,8 @@ http {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
ssl_certificate /etc/nginx/certs/personel.scarif.local.crt; ssl_certificate /etc/nginx/certs/scarif.local.crt;
ssl_certificate_key /etc/nginx/certs/personel.scarif.local.key; ssl_certificate_key /etc/nginx/certs/scarif.local.key;
server_name personel.scarif.local; server_name personel.scarif.local;
@@ -211,8 +211,8 @@ http {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
ssl_certificate /etc/nginx/certs/tower.scarif.local.crt; ssl_certificate /etc/nginx/certs/scarif.local.crt;
ssl_certificate_key /etc/nginx/certs/tower.scarif.local.key; ssl_certificate_key /etc/nginx/certs/scarif.local.key;
server_name tower.scarif.local; server_name tower.scarif.local;
@@ -347,8 +347,8 @@ http {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
ssl_certificate /etc/nginx/certs/labs.scarif.local.crt; ssl_certificate /etc/nginx/certs/scarif.local.crt;
ssl_certificate_key /etc/nginx/certs/labs.scarif.local.key; ssl_certificate_key /etc/nginx/certs/scarif.local.key;
gzip_types text/plain text/css application/json application/x-javascript gzip_types text/plain text/css application/json application/x-javascript
text/xml application/xml application/xml+rss text/javascript; text/xml application/xml application/xml+rss text/javascript;
@@ -359,4 +359,35 @@ http {
proxy_pass http://gitea-handler; proxy_pass http://gitea-handler;
} }
} }
upstream dashboard-handler {
server dashboard:5000;
}
server {
listen 443 ssl http2;
ssl_certificate /etc/nginx/certs/scarif.local.crt;
ssl_certificate_key /etc/nginx/certs/scarif.local.key;
gzip_types text/plain text/css application/json application/x-javascript
text/xml application/xml application/xml+rss text/javascript;
server_name command.scarif.local scarif.local;
location / {
proxy_pass http://dashboard-handler;
}
location /unauthorized {
return 301 https://$host/login;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
} }