Add dashboard container
This commit is contained in:
BIN
dashboard/backgrounds/scarif.jpg
Normal file
BIN
dashboard/backgrounds/scarif.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 353 KiB |
51
dashboard/config.ini
Normal file
51
dashboard/config.ini
Normal 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
|
||||||
|
|
||||||
1
dashboard/icons/monica.svg
Normal file
1
dashboard/icons/monica.svg
Normal 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 |
@@ -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:
|
||||||
|
|||||||
43
nginx.conf
43
nginx.conf
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user