mirror of
https://github.com/bjoernellens1/cps_loki.git
synced 2024-11-22 15:33:46 +00:00
update
This commit is contained in:
parent
a7a8f5176e
commit
f67d9259ee
17
config/caddy/Caddyfile
Normal file
17
config/caddy/Caddyfile
Normal file
@ -0,0 +1,17 @@
|
||||
http://loki {
|
||||
root * /usr/share/caddy
|
||||
file_server browse
|
||||
}
|
||||
|
||||
http://browse.loki {
|
||||
root * /usr/share/caddy
|
||||
file_server browse
|
||||
}
|
||||
|
||||
http://config.loki {
|
||||
reverse_proxy olivetin:1337
|
||||
}
|
||||
|
||||
http://control.loki {
|
||||
reverse_proxy foxglove:8080
|
||||
}
|
BIN
config/caddy/content/overview/CPS_Logo_White_square_TRANSP.png
Normal file
BIN
config/caddy/content/overview/CPS_Logo_White_square_TRANSP.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
72
config/caddy/content/overview/index.html
Normal file
72
config/caddy/content/overview/index.html
Normal file
@ -0,0 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<!-- ersetze die Links + QR Codes unter den Kommentaren -->
|
||||
|
||||
<head>
|
||||
<title>CPS Bot Overview</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
|
||||
<header>
|
||||
<h1 id="HEADLINE">CPS Bot Mini Overview<img src="CPS_Logo_White_square_TRANSP.png" id="LOGO"></h1>
|
||||
</header>
|
||||
|
||||
<body>
|
||||
<div class="box" id="LEFT">
|
||||
<p class="mini-heads">Connect to Wi-Fi:</p>
|
||||
<!-- replace mit relativen Link!!!, bei mir spinnts und es wird das gebrochene Bild symbol angezeigt. Anders geht
|
||||
es allerdings, falls nicht bei dir sags mir -->
|
||||
<img src="qr_wifi_actual.png" class="qr">
|
||||
<div id="NORM_SET">
|
||||
<table>
|
||||
<tr>
|
||||
<td>SSD:</td>
|
||||
<td>CPS_bot_mini</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Password: </td>
|
||||
<td>pac999CPS</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box" id="RIGHT">
|
||||
<div id="BLOCK_ONE">
|
||||
<p class="mini-heads">Link to WebGui:</p>
|
||||
<!-- again -->
|
||||
<!-- Replace link at href -->
|
||||
<!-- hier Link zu WebGui -->
|
||||
<a href="https://www.unileoben.ac.at/universitaet/lehrstuehle/institute/department-product-engineering/lehrstuhl-fuer-cyber-physical-systems/">
|
||||
<img src="qr_dummy_1.png" class="qr qr_2"></a>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<p id="SPACE"> </p>
|
||||
|
||||
<div id="BLOCK_TWO">
|
||||
<p class="mini-heads">Link to Manual:</p>
|
||||
<!-- again -->
|
||||
<!-- hier Link zu Manual -->
|
||||
<a href="https://www.unileoben.ac.at/universitaet/lehrstuehle/institute/department-product-engineering/lehrstuhl-fuer-cyber-physical-systems/">
|
||||
<img src="qr_dummy_2.png" class="qr qr_2">
|
||||
</a>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="info">
|
||||
<!-- Link zum Lehrstuhl, einfach den ganzen Div Block rausnehmen falls du das nicht willst -->
|
||||
<a href="https://cps.unileoben.ac.at/">Check us out!</a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
|
||||
</html>
|
BIN
config/caddy/content/overview/qr_dummy_1.png
Normal file
BIN
config/caddy/content/overview/qr_dummy_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
BIN
config/caddy/content/overview/qr_dummy_2.png
Normal file
BIN
config/caddy/content/overview/qr_dummy_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
BIN
config/caddy/content/overview/qr_wifi_actual.png
Normal file
BIN
config/caddy/content/overview/qr_wifi_actual.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
241
config/caddy/content/overview/style.css
Normal file
241
config/caddy/content/overview/style.css
Normal file
@ -0,0 +1,241 @@
|
||||
html
|
||||
{
|
||||
background-color: rgb(51, 51, 51);
|
||||
font-family: sans-serif;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
#HEADLINE
|
||||
{
|
||||
font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
|
||||
text-align: center;
|
||||
color: white;
|
||||
background-color: rgb(1, 115, 126);
|
||||
box-shadow: 0px 15px 0px -5px rgb(1, 89, 97);
|
||||
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
#LOGO
|
||||
{
|
||||
height: 1em;
|
||||
width: auto;
|
||||
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.mini-heads
|
||||
{
|
||||
color: white;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
#LEFT
|
||||
{
|
||||
float: left;
|
||||
max-width: 49.5%;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#RIGHT
|
||||
{
|
||||
float: right;
|
||||
max-width: 49.5%;
|
||||
flex-direction: row;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.qr
|
||||
{
|
||||
max-width: 59.5%;
|
||||
height: auto;
|
||||
|
||||
object-fit: cover;
|
||||
|
||||
border-color: black;
|
||||
border: 3px solid;
|
||||
border-radius: 10%;
|
||||
|
||||
}
|
||||
|
||||
.qr_2
|
||||
{
|
||||
width: 35%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
table, td
|
||||
{
|
||||
color: white;
|
||||
|
||||
width: 70%;
|
||||
line-height: 190%;
|
||||
border: 1px solid rgb(76, 76, 76);
|
||||
background-color: rgb(34, 34, 34);
|
||||
border-collapse: collapse;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#SPACE
|
||||
{
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
#NORM_SET
|
||||
{
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
.link
|
||||
{
|
||||
color: white;
|
||||
background-color: rgb(1, 115, 126);
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.link:hover
|
||||
{
|
||||
color: rgb(206, 206, 206);
|
||||
}
|
||||
|
||||
.link:visited
|
||||
{
|
||||
color: rgb(75, 75, 75);
|
||||
background-color: rgb(1, 89, 97);
|
||||
}
|
||||
|
||||
.info
|
||||
{
|
||||
color: white;
|
||||
|
||||
background-color: rgb(34, 34, 34);
|
||||
|
||||
padding-top: 3px;
|
||||
padding-right: 6px;
|
||||
text-indent: 6px;
|
||||
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 6px;
|
||||
|
||||
border: 1px solid rgb(76, 76, 76);
|
||||
}
|
||||
|
||||
.info:hover
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.info:visited
|
||||
{
|
||||
color: rgb(206, 206, 206);
|
||||
}
|
||||
|
||||
a, a:visited, a:hover, a:active {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* Phone */ /* pract. ab 400% zoom (inludkiert) am pc */
|
||||
@media only screen and (max-width : 480px)
|
||||
{
|
||||
#LEFT
|
||||
{
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
clear: both;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#RIGHT
|
||||
{
|
||||
max-width: none;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.qr
|
||||
{
|
||||
max-width: 43.9%;
|
||||
}
|
||||
|
||||
.qr_2
|
||||
{
|
||||
width: 29%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet / Ipad */ /* pract. ab 200% Zoom (nicht inkludiert) am pc */
|
||||
@media only screen and (max-width : 767px) and (min-width: 481px)
|
||||
{
|
||||
#LEFT
|
||||
{
|
||||
max-width: none;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.qr
|
||||
{
|
||||
max-width: 35%;
|
||||
}
|
||||
|
||||
table td
|
||||
{
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.mini-heads
|
||||
{
|
||||
font-size: x-large;
|
||||
}
|
||||
|
||||
#RIGHT
|
||||
{
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#SPACE
|
||||
{
|
||||
padding: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#BLOCK_ONE
|
||||
{
|
||||
max-width: 49.5%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#BLOCK_TWO
|
||||
{
|
||||
max-width: 49.5%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.qr_2
|
||||
{
|
||||
max-width: 80%;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.link
|
||||
{
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.info
|
||||
{
|
||||
font-size: larger;
|
||||
}
|
||||
}
|
Binary file not shown.
18
config/npm/nginx/default_host/site.conf
Normal file
18
config/npm/nginx/default_host/site.conf
Normal file
@ -0,0 +1,18 @@
|
||||
# ------------------------------------------------------------
|
||||
# Default Site
|
||||
# ------------------------------------------------------------
|
||||
|
||||
server {
|
||||
listen 80 default;
|
||||
listen [::]:80 default;
|
||||
|
||||
server_name default-host.localhost;
|
||||
access_log /data/logs/default-host_access.log combined;
|
||||
error_log /data/logs/default-host_error.log warn;
|
||||
|
||||
|
||||
include conf.d/include/letsencrypt-acme-challenge.conf;
|
||||
location / {
|
||||
return 301 http://192.168.20.10:1337/;
|
||||
}
|
||||
}
|
59
config/npm/nginx/proxy_host/3.conf
Normal file
59
config/npm/nginx/proxy_host/3.conf
Normal file
@ -0,0 +1,59 @@
|
||||
# ------------------------------------------------------------
|
||||
# overview.loki
|
||||
# ------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
map $scheme $hsts_header {
|
||||
https "max-age=63072000; preload";
|
||||
}
|
||||
|
||||
server {
|
||||
set $forward_scheme http;
|
||||
set $server "host.docker.internal";
|
||||
set $port 1337;
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
|
||||
server_name overview.loki;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
access_log /data/logs/proxy-host-3_access.log proxy;
|
||||
error_log /data/logs/proxy-host-3_error.log warn;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
location / {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Proxy!
|
||||
include conf.d/include/proxy.conf;
|
||||
}
|
||||
|
||||
|
||||
# Custom
|
||||
include /data/nginx/custom/server_proxy[.]conf;
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ services:
|
||||
# Allows graphical programs in the container.
|
||||
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
||||
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
||||
restart: unless-stopped
|
||||
# Overlay image containing the project specific source code.
|
||||
overlay:
|
||||
extends: base
|
||||
@ -137,30 +138,6 @@ services:
|
||||
###################################################################################################################################
|
||||
# Webgui Supervision via Foxglove Studio #
|
||||
###################################################################################################################################
|
||||
# config:
|
||||
# container_name: olivetin
|
||||
# image: ghcr.io/bjoernellens1/cps_bot_mini_ws/olivetin
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: docker/Dockerfile
|
||||
# tags:
|
||||
# - ghcr.io/bjoernellens1/cps_bot_mini_ws/olivetin
|
||||
# target: olivetin
|
||||
# x-bake:
|
||||
# platforms:
|
||||
# #- linux/arm64
|
||||
# - linux/amd64
|
||||
# #user: root
|
||||
# privileged: true
|
||||
# volumes:
|
||||
# - ./config/olivetin.yaml:/config/config.yaml # replace host path or volume as needed
|
||||
# # - .:/repo
|
||||
# - /var/run/docker.sock:/var/run/docker.sock
|
||||
# # - /var/lib/docker:/var/lib/docker
|
||||
# ports:
|
||||
# - "80:1337"
|
||||
# restart: unless-stopped
|
||||
|
||||
olivetin:
|
||||
container_name: olivetin
|
||||
image: jamesread/olivetin
|
||||
@ -186,7 +163,7 @@ services:
|
||||
# - /var/lib/docker:/var/lib/docker
|
||||
- ~/.ssh/id_rsa:/root/.ssh/id_rsa
|
||||
ports:
|
||||
- "80:1337"
|
||||
- "1337:1337"
|
||||
restart: unless-stopped
|
||||
|
||||
portainer:
|
||||
@ -268,22 +245,35 @@ services:
|
||||
# Core Services for Web Management #
|
||||
################################################################################################################################
|
||||
|
||||
npm: # nginx proxy manager for reverse proxying the webservices
|
||||
#user "bjoern.ellensohn@unileoben.ac.at"
|
||||
#password "cpsloki_npm"
|
||||
image: 'jc21/nginx-proxy-manager:latest'
|
||||
restart: always #unless-stopped
|
||||
ports:
|
||||
- '80:80'
|
||||
- '81:81'
|
||||
- '443:443'
|
||||
volumes:
|
||||
- ./config/npm:/data
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
# npm: # nginx proxy manager for reverse proxying the webservices
|
||||
# #user "bjoern.ellensohn@unileoben.ac.at"
|
||||
# #password "cpsloki_npm"
|
||||
# image: 'jc21/nginx-proxy-manager:latest'
|
||||
# restart: unless-stopped
|
||||
# ports:
|
||||
# - '80:80'
|
||||
# - '81:81'
|
||||
# - '443:443'
|
||||
# extra_hosts:
|
||||
# - "host.docker.internal:host-gateway"
|
||||
# #network_mode: host
|
||||
# volumes:
|
||||
# - ./config/npm:/data
|
||||
# - ./config/npm/letsencrypt:/etc/letsencrypt
|
||||
# depends_on:
|
||||
# - foxglove
|
||||
# - olivetin
|
||||
|
||||
management:
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./config/caddy/Caddyfile:/etc/caddy/Caddyfile
|
||||
- ./config/caddy/content:/usr/share/caddy/
|
||||
restart: always
|
||||
depends_on:
|
||||
- npm
|
||||
- foxglove
|
||||
- olivetin
|
||||
|
||||
|
@ -43,6 +43,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ros-${ROS_DISTRO}-xacro \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Foxglove Bridge
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ros-${ROS_DISTRO}-foxglove-bridge \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||
|
||||
###########################################
|
||||
|
Loading…
Reference in New Issue
Block a user