Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff1fddb111 | ||
|
|
ee594dc1d3 | ||
|
|
82a3f0e2d2 | ||
|
|
3ab0875242 | ||
|
|
60ac4f50a5 | ||
|
|
da83d83d9f |
@@ -1,3 +1,7 @@
|
|||||||
# Bragi-Local
|
# Bragi-Local
|
||||||
|
|
||||||
My Compose Stacks for all my Docker Services running on my Local Server
|
My Compose Stacks for all my Docker Services running on my Local Server
|
||||||
|
|
||||||
|
06_maintanance:
|
||||||
|
- Lubelogger
|
||||||
|
- Postgresql for Lubelogger
|
||||||
+50
-113
@@ -1,133 +1,70 @@
|
|||||||
version: "3.8"
|
|
||||||
services:
|
services:
|
||||||
beszel:
|
SnapOtter:
|
||||||
image: henrygd/beszel:latest
|
image: snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest
|
||||||
container_name: beszel
|
container_name: snapotter
|
||||||
restart: unless-stopped
|
# ports:
|
||||||
extra_hosts:
|
# - "1349:1349"
|
||||||
- host.docker.internal:host-gateway
|
|
||||||
# ports:
|
|
||||||
# - 8090:8090
|
|
||||||
networks:
|
networks:
|
||||||
- bragi-local
|
- bragi-local
|
||||||
volumes:
|
volumes:
|
||||||
- /opt/beszel-container/beszel_data:/beszel_data
|
- /opt/10_images/snapotter:/data
|
||||||
|
environment:
|
||||||
glance:
|
- AUTH_ENABLED=true
|
||||||
image: glanceapp/glance
|
- DEFAULT_USERNAME=admin
|
||||||
container_name: glance
|
- DEFAULT_PASSWORD=admin
|
||||||
restart: unless-stopped
|
- DATABASE_URL=postgres://snapotter:snapotter@postgres:5432/snapotter
|
||||||
networks:
|
- REDIS_URL=redis://redis:6379
|
||||||
- bragi-local
|
|
||||||
volumes:
|
|
||||||
- /opt/dashboard/config:/app/config
|
|
||||||
- /opt/dashboard/assets:/app/assets
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
# ports:
|
|
||||||
# - 8080:8080
|
|
||||||
# env_file: .env
|
|
||||||
|
|
||||||
|
|
||||||
termix:
|
|
||||||
image: ghcr.io/lukegus/termix:release-2.2.1
|
|
||||||
container_name: termix
|
|
||||||
restart: unless-stopped
|
|
||||||
# ports:
|
|
||||||
# - '8080:8080'
|
|
||||||
volumes:
|
|
||||||
- /opt/01_admin/termix/:/app/data
|
|
||||||
# environment:
|
|
||||||
# PORT: '8080'
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- guacd
|
postgres:
|
||||||
networks:
|
condition: service_healthy
|
||||||
- bragi-local
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
termix-new:
|
|
||||||
image: ghcr.io/lukegus/termix:latest
|
|
||||||
container_name: termix-new
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# ports:
|
deploy:
|
||||||
# - '8080:8080'
|
resources:
|
||||||
volumes:
|
reservations:
|
||||||
- /opt/01_admin/termix-new/:/app/data
|
devices:
|
||||||
# environment:
|
- driver: nvidia
|
||||||
# PORT: '8080'
|
count: 1
|
||||||
networks:
|
capabilities: [gpu]
|
||||||
- bragi-local
|
|
||||||
|
|
||||||
guacd:
|
postgres:
|
||||||
image: guacamole/guacd:1.6.0
|
image: postgres:17-alpine
|
||||||
container_name: guacd
|
container_name: snapotter_postgres
|
||||||
restart: unless-stopped
|
|
||||||
# ports:
|
|
||||||
# - "4822:4822"
|
|
||||||
networks:
|
|
||||||
- bragi-local
|
|
||||||
|
|
||||||
ntfy:
|
|
||||||
image: binwiederhier/ntfy
|
|
||||||
container_name: ntfy
|
|
||||||
environment:
|
environment:
|
||||||
- NTFY_BASE_URL=https://ntfy.doeringer.eu
|
POSTGRES_USER: snapotter
|
||||||
|
POSTGRES_PASSWORD: snapotter
|
||||||
|
POSTGRES_DB: snapotter
|
||||||
networks:
|
networks:
|
||||||
- bragi-local
|
- bragi-local
|
||||||
command:
|
|
||||||
- serve
|
|
||||||
volumes:
|
volumes:
|
||||||
- /opt/01_admin/ntfy:/var/cache/ntfy
|
- /opt/10_images/postgresql:/var/lib/postgresql/data
|
||||||
- /etc/ntfy:/etc/ntfy
|
|
||||||
# ports:
|
|
||||||
# - 80:80
|
|
||||||
|
|
||||||
code-server:
|
|
||||||
image: lscr.io/linuxserver/code-server:latest
|
|
||||||
container_name: code-server
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=1000
|
|
||||||
- TZ=Europe/Berlin
|
|
||||||
- PASSWORD=${PASSWORD_CODE}
|
|
||||||
- DEFAULT_WORKSPACE=/home/share/Repositories/Automation
|
|
||||||
volumes:
|
|
||||||
- /opt/01_admin/code/config:/config
|
|
||||||
- /home/share/Repositories/Automation:/home/share/Repositories/Automation
|
|
||||||
networks:
|
|
||||||
- bragi-local
|
|
||||||
# ports:
|
|
||||||
# - 8443:8443
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
remotepower:
|
|
||||||
image: ghcr.io/tyxak/remotepower:latest # or `build: .` to build locally
|
|
||||||
container_name: remotepower
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- bragi-local
|
|
||||||
# ports:
|
|
||||||
# - "443:8443" # HTTPS — self-signed by default
|
|
||||||
# - "80:8080" # HTTP — health, /ca.crt, redirects to HTTPS
|
|
||||||
# environment:
|
|
||||||
# HTTPS on first boot, no cert wrangling. Set RP_TLS_HOST to your address:
|
|
||||||
# RP_TLS_SELFSIGNED: "1"
|
|
||||||
# RP_TLS_HOST: "${RP_TLS_HOST:-localhost}"
|
|
||||||
volumes:
|
|
||||||
- /opt/01_admin/remotepower:/var/lib/remotepower
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "python3", "-c",
|
test: ["CMD-SHELL", "pg_isready -U snapotter"]
|
||||||
"import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8080/api/health',timeout=4).status==200 else 1)"]
|
interval: 10s
|
||||||
interval: 60s
|
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
start_period: 15s
|
retries: 12
|
||||||
retries: 3
|
|
||||||
|
|
||||||
|
|
||||||
|
redis:
|
||||||
|
container_name: snapotter_redis
|
||||||
|
networks:
|
||||||
|
- bragi-local
|
||||||
|
image: redis:8-alpine
|
||||||
|
command: ["redis-server", "--maxmemory-policy", "noeviction", "--appendonly", "yes"]
|
||||||
|
volumes:
|
||||||
|
- /opt/10_images/redis:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
remotepower_data:
|
SnapOtter-data:
|
||||||
termix-data:
|
SnapOtter-pgdata:
|
||||||
driver: local
|
SnapOtter-redisdata:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
bragi-local:
|
bragi-local:
|
||||||
|
|||||||
-94
@@ -1,94 +0,0 @@
|
|||||||
pages:
|
|
||||||
- name: Home
|
|
||||||
theme:
|
|
||||||
background-color: 219 16 21
|
|
||||||
contrast-multiplier: 1.2
|
|
||||||
primary-color: 193 43 67
|
|
||||||
positive-color: 92 28 65
|
|
||||||
negative-color: 354 42 56
|
|
||||||
# Optionally, if you only have a single page you can hide the desktop navigation for a cleaner look
|
|
||||||
# hide-desktop-navigation: true
|
|
||||||
columns:
|
|
||||||
- size: small
|
|
||||||
widgets:
|
|
||||||
- type: calendar
|
|
||||||
first-day-of-week: monday
|
|
||||||
|
|
||||||
- type: rss
|
|
||||||
limit: 10
|
|
||||||
collapse-after: 3
|
|
||||||
cache: 12h
|
|
||||||
feeds:
|
|
||||||
- url: https://selfh.st/rss/
|
|
||||||
title: selfh.st
|
|
||||||
limit: 4
|
|
||||||
- url: https://www.heise.de/security/feed.xml
|
|
||||||
title: Heise Security
|
|
||||||
limit: 5
|
|
||||||
|
|
||||||
- size: full
|
|
||||||
widgets:
|
|
||||||
- type: search
|
|
||||||
seach-engine: startpage
|
|
||||||
new-tab: true
|
|
||||||
|
|
||||||
- type: lobsters
|
|
||||||
sort-by: hot
|
|
||||||
tags:
|
|
||||||
- security
|
|
||||||
- linux
|
|
||||||
|
|
||||||
- type: videos
|
|
||||||
channels:
|
|
||||||
- UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling
|
|
||||||
- UCsBjURrPoezykLs9EqgamOA # Fireship
|
|
||||||
- UCHnyfMqiRRG1u-2MsSQLbXA # Veritasium
|
|
||||||
- UCgdTVe88YVSrOZ9qKumhULQ # Hardware Haven
|
|
||||||
- UCywwEsnSmADUyhtSaq5dKNg # Zei
|
|
||||||
- UCqP87_tOqZczGdExeEz0prg # Eric Parker
|
|
||||||
|
|
||||||
- type: group
|
|
||||||
widgets:
|
|
||||||
- type: reddit
|
|
||||||
subreddit: selfhosted
|
|
||||||
show-thumbnails: true
|
|
||||||
- type: reddit
|
|
||||||
subreddit: technology
|
|
||||||
show-thumbnails: true
|
|
||||||
- type: reddit
|
|
||||||
subreddit: homelab
|
|
||||||
show-thumbnails: true
|
|
||||||
|
|
||||||
- size: small
|
|
||||||
widgets:
|
|
||||||
- type: weather
|
|
||||||
location: Eschenau, Germany
|
|
||||||
units: metric # alternatively "imperial"
|
|
||||||
hour-format: 24h # alternatively "24h"
|
|
||||||
# Optionally hide the location from being displayed in the widget
|
|
||||||
# hide-location: true
|
|
||||||
|
|
||||||
- type: custom-api
|
|
||||||
title: Random Fact
|
|
||||||
cache: 3h
|
|
||||||
url: https://uselessfacts.jsph.pl/api/v2/facts/random
|
|
||||||
template: |
|
|
||||||
<p class="size-h4 color-paragraph">{{ .JSON.String "text" }}</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Add more pages here:
|
|
||||||
# - name: Your page name
|
|
||||||
# columns:
|
|
||||||
# - size: small
|
|
||||||
# widgets:
|
|
||||||
# # Add widgets here
|
|
||||||
|
|
||||||
# - size: full
|
|
||||||
# widgets:
|
|
||||||
# # Add widgets here
|
|
||||||
|
|
||||||
# - size: small
|
|
||||||
# widgets:
|
|
||||||
# # Add widgets here
|
|
||||||
Reference in New Issue
Block a user