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.
|
# Allows graphical programs in the container.
|
||||||
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
||||||
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
- ${XAUTHORITY:-$HOME/.Xauthority}:/root/.Xauthority
|
||||||
|
restart: unless-stopped
|
||||||
# Overlay image containing the project specific source code.
|
# Overlay image containing the project specific source code.
|
||||||
overlay:
|
overlay:
|
||||||
extends: base
|
extends: base
|
||||||
@ -137,30 +138,6 @@ services:
|
|||||||
###################################################################################################################################
|
###################################################################################################################################
|
||||||
# Webgui Supervision via Foxglove Studio #
|
# 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:
|
olivetin:
|
||||||
container_name: olivetin
|
container_name: olivetin
|
||||||
image: jamesread/olivetin
|
image: jamesread/olivetin
|
||||||
@ -186,7 +163,7 @@ services:
|
|||||||
# - /var/lib/docker:/var/lib/docker
|
# - /var/lib/docker:/var/lib/docker
|
||||||
- ~/.ssh/id_rsa:/root/.ssh/id_rsa
|
- ~/.ssh/id_rsa:/root/.ssh/id_rsa
|
||||||
ports:
|
ports:
|
||||||
- "80:1337"
|
- "1337:1337"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
portainer:
|
portainer:
|
||||||
@ -268,22 +245,35 @@ services:
|
|||||||
# Core Services for Web Management #
|
# Core Services for Web Management #
|
||||||
################################################################################################################################
|
################################################################################################################################
|
||||||
|
|
||||||
npm: # nginx proxy manager for reverse proxying the webservices
|
# npm: # nginx proxy manager for reverse proxying the webservices
|
||||||
#user "bjoern.ellensohn@unileoben.ac.at"
|
# #user "bjoern.ellensohn@unileoben.ac.at"
|
||||||
#password "cpsloki_npm"
|
# #password "cpsloki_npm"
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
# image: 'jc21/nginx-proxy-manager:latest'
|
||||||
restart: always #unless-stopped
|
# restart: unless-stopped
|
||||||
ports:
|
# ports:
|
||||||
- '80:80'
|
# - '80:80'
|
||||||
- '81:81'
|
# - '81:81'
|
||||||
- '443:443'
|
# - '443:443'
|
||||||
volumes:
|
# extra_hosts:
|
||||||
- ./config/npm:/data
|
# - "host.docker.internal:host-gateway"
|
||||||
- ./letsencrypt:/etc/letsencrypt
|
# #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:
|
depends_on:
|
||||||
- npm
|
|
||||||
- foxglove
|
- foxglove
|
||||||
- olivetin
|
- olivetin
|
||||||
|
|
||||||
|
@ -43,6 +43,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
ros-${ROS_DISTRO}-xacro \
|
ros-${ROS_DISTRO}-xacro \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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
|
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
|
Loading…
Reference in New Issue
Block a user