This commit is contained in:
Hubert Cornet 2024-04-02 21:58:31 +02:00
parent 7dc441b2fc
commit 562834d131
29 changed files with 746 additions and 0 deletions

View File

@ -0,0 +1,10 @@
$ORIGIN .
$TTL 86400 ; 1 day
home.clcreative.de IN SOA ns.home.clcreative.de. home.clcreative.de. (
2001062618 ; serial
3600 ; refresh (1 hour)
3600 ; retry (1 hour)
2419200 ; expire (4 weeks)
3600 ; minimum (1 hour)
)
NS ns.home.clcreative.de.

39
Bind9/config/named.conf Normal file
View File

@ -0,0 +1,39 @@
include "/etc/bind/named.conf.key";
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "tsig-key"; };
};
acl docker-1 {
172.17.0.0/16;
172.18.0.0/16;
172.19.0.0/16;
172.20.0.0/16;
172.21.0.0/16;
172.22.0.0/16;
172.23.0.0/16;
172.24.0.0/16;
};
acl dmz-prod-1 {
10.20.0.0/16;
};
acl lan-prod-1 {
10.10.0.0/16;
};
options {
forwarders {
1.1.1.1;
1.0.0.1;
};
allow-query { 127.0.0.1; docker-1; lan-prod-1; dmz-prod-1; };
};
zone "home.clcreative.de" IN {
type master;
file "/etc/bind/home-clcreative-de.zone";
update-policy { grant tsig-key zonesub any; };
};

7
Bind9/config/rndc.conf Normal file
View File

@ -0,0 +1,7 @@
include "/etc/bind/named.conf.key";
options {
default-key "tsig-key";
default-server 127.0.0.1;
default-port 953;
};

12
Bind9/docker-compose.yaml Normal file
View File

@ -0,0 +1,12 @@
---
services:
bind9:
container_name: dns-prod-1
image: ubuntu/bind9:9.18-23.04_edge
environment:
- BIND9_USER=root
- TZ=Europe/Berlin
volumes:
- ./config/:/etc/bind:rw
network_mode: host
restart: unless-stopped

View File

@ -0,0 +1,29 @@
---
networks:
frontend:
external: true
backend:
external: true
services:
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.47.2
container_name: cadvisor-prod-1
devices:
- /dev/kmsg
privileged: true
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
labels:
- traefik.enable=true
- traefik.http.routers.cadvisor-prod-1.entrypoints=websecure
- traefik.http.routers.cadvisor-prod-1.rule=Host(`cadvisor-prod-1.srv-prod-1.home.clcreative.de`)
- traefik.http.routers.cadvisor-prod-1.tls=true
- traefik.http.routers.cadvisor-prod-1.tls.certresolver=cloudflare
networks:
- frontend
- backend
restart: unless-stopped

View File

@ -0,0 +1,24 @@
---
networks:
frontend:
external: true
backend:
external: true
services:
twingate:
container_name: connector-demo-1
image: "twingate/connector:latest"
environment:
- SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
- TWINGATE_API_ENDPOINT=/connector.stock
- TWINGATE_NETWORK=clcreative
- TWINGATE_DNS=10.20.0.1
- TWINGATE_ACCESS_TOKEN=${TWINGATE_ACCESS_TOKEN}
- TWINGATE_REFRESH_TOKEN=${TWINGATE_REFRESH_TOKEN}
- TWINGATE_LOG_LEVEL=3
sysctls:
net.ipv4.ping_group_range: "0 2147483647"
networks:
- frontend
- backend
restart: unless-stopped

View File

@ -0,0 +1,27 @@
---
services:
dockge:
container_name: dockge-demo-1
image: louislam/dockge:1.3.3
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockge-data:/app/data
- /home/xcad:/home/xcad
environment:
- DOCKGE_STACKS_DIR=/home/xcad
labels:
- traefik.enable=true
- traefik.http.routers.dockge-demo-1-http.entrypoints=web
- traefik.http.routers.dockge-demo-1-http.rule=Host(`dockge-demo-1.srv-demo-1.home.clcreative.de`)
- traefik.http.routers.dockge-demo-1-https.entrypoints=websecure
- traefik.http.routers.dockge-demo-1-https.rule=Host(`dockge-demo-1.srv-demo-1.home.clcreative.de`)
- traefik.http.routers.dockge-demo-1-https.tls=true
- traefik.http.routers.dockge-demo-1-https.tls.certresolver=cloudflare
networks:
- frontend
restart: unless-stopped
volumes:
dockge-data:
networks:
frontend:
external: true

32
Homepage/README.md Normal file
View File

@ -0,0 +1,32 @@
![Homepager](./img/logo-Homepage.png)
# Homepage
# Installation
Pour utiliser Adminer tout seul
```bash
docker compose up -d
```
Pour utiliser Adminer avec Traefik
```bash
docker compose -f docker-compose-traefik.yml up -d
```
Pour utiliser Adminer avec Nginx
```bash
docker compose -f docker-compose-nginx.yml up -d
```
# Utilisation
## Accueil
![adminer-accueil](./img/Adminer-000.png)
# More info
- more information on the website [Tips-Of-Mine](https://www.tips-of-mine.fr/)
# Buy me a coffe
<a href='https://ko-fi.com/R5R2KNI3N' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi4.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>

View File

@ -0,0 +1,42 @@
---
- Repositories:
- Homelab:
- icon: si-github-#FFFFFF
href: https://github.com/christianlempa/homelab
- Boilerplates:
- icon: si-github-#FFFFFF
href: https://github.com/christianlempa/boilerplates
- Cheat-Sheets:
- icon: si-github-#FFFFFF
href: https://github.com/christianlempa/cheat-sheets
- Scripts:
- icon: si-github-#FFFFFF
href: https://github.com/christianlempa/scripts
- Cloud Services:
- Sophos Cloud:
- icon: /icons/cld.png
href: https://cloud.sophos.com
- Cloudflare:
- icon: cloudflare.png
href: https://dash.cloudflare.com
- Teleport:
- icon: teleport.png
href: https://clcreative.teleport.sh
- Twingate:
- icon: twingate.png
href: https://clcreative.twingate.com
- Netbird:
- icon: https://netbird.io/_next/static/media/netbird-icon.00225e97.svg
href: https://app.netbird.io
- Cloud Platforms:
- Microsoft Azure:
- icon: azure.png
href: https://portal.azure.com
- Digital Ocean:
- icon: si-digitalocean-#0080FF
href: https://cloud.digitalocean.com
- CIVO:
- icon: si-civo-#239DFF
href: https://www.civo.com

View File

View File

View File

@ -0,0 +1,3 @@
---
srv-prod-1:
socket: /var/run/docker.sock

View File

@ -0,0 +1 @@
---

View File

@ -0,0 +1,134 @@
---
- Networking:
- FritzBox GW 1:
href: http://192.168.82.1
icon: avmfritzbox.png
description: gw-prod-1
siteMonitor: http://192.168.82.1
widget:
type: fritzbox
url: http://192.168.82.1
- FritzBox GW 2:
href: http://192.168.81.1
icon: avmfritzbox.png
description: gw-prod-2
siteMonitor: http://192.168.81.1
widget:
type: fritzbox
url: http://192.168.81.1
- Sophos XGS:
href: https://fw-prod-1.home.clcreative.de:4444
icon: /icons/fw.png
description: fw-prod-1
siteMonitor: https://fw-prod-1.home.clcreative.de
- Sophos Switch:
href: https://sw-prod-1.home.clcreative.de
icon: /icons/sw.png
description: sw-prod-1
siteMonitor: https://sw-prod-1.home.clcreative.de
- Infrastructure and Data:
- Proxmox:
href: https://prx-prod-2.home.clcreative.de:8006
icon: proxmox.png
description: prx-prod-2
siteMonitor: https://prx-prod-2.home.clcreative.de:8006
widget:
type: proxmox
url: https://prx-prod-2.home.clcreative.de:8006
username: {{HOMEPAGE_VAR_PROXMOX_USERNAME}}
password: {{HOMEPAGE_VAR_PROXMOX_PASSWORD}}
- TrueNAS Scale:
href: https://nas-prod-1.home.clcreative.de
icon: truenas-scale.png
description: nas-prod-1 on prx-prod-2
siteMonitor: https://nas-prod-1.home.clcreative.de
widget:
type: truenas
url: https://nas-prod-1.home.clcreative.de
key: {{HOMEPAGE_VAR_TRUENAS_KEY}}
enablePools: false
- InfluxDB:
href: https://ixdb-prod-1.srv-prod-2.home.clcreative.de/
icon: influxdb.png
description: ixdb-prod-1 on srv-prod-2
- Management:
- Portainer:
href: https://portainer-demo-1.srv-demo-1.home.clcreative.de
icon: portainer.png
description: portainer-demo-1 on srv-demo-1
widget:
type: portainer
url: https://portainer-demo-1.srv-demo-1.home.clcreative.de
env: 2
key: {{HOMEPAGE_VAR_PORTAINER_KEY}}
- Dockge:
href: https://dockge-demo-1.srv-demo-1.home.clcreative.de
icon: si-docker-#2496ED
description: dockge-demo-1 on srv-demo-1
- Monitoring:
- UptimeKuma:
href: https://uptimekuma-prod-1.srv-prod-7.home.clcreative.de
description: uptimekuma-prod-1 on srv-prod-7
icon: uptime-kuma.png
widget:
type: uptimekuma
url: https://uptimekuma-prod-1.srv-prod-7.home.clcreative.de
slug: publicservices
- Prometheus:
href: https://prometheus-prod-1.srv-prod-1.home.clcreative.de
description: prometheus-prod-1 on srv-prod-1
icon: prometheus.png
server: srv-prod-1
container: prometheus-prod-1
widget:
type: prometheus
url: https://prometheus-prod-1.srv-prod-1.home.clcreative.de
- Grafana:
href: https://grafana-prod-1.srv-prod-1.home.clcreative.de
description: grafana-prod-1 on srv-prod-1
icon: grafana.png
server: srv-prod-1
container: grafana-prod-1
- Security and Identity:
- Authentik:
href: https://authentik-prod-1.kube-prod-1.home.clcreative.de
description: authentik-prod-1 on kube-prod-1
icon: authentik.png
widget:
type: authentik
url: https://authentik-prod-1.kube-prod-1.home.clcreative.de
key: {{HOMEPAGE_VAR_AUTHENTIK_KEY}}
- Passbolt:
href: https://passbolt-demo-1.srv-prod-1.clcreative.de
description: passbolt-demo-1 on srv-prod-1
icon: passbolt.png
- Automation:
- Kestra:
href: https://kestra-demo-1.srv-prod-1.home.clcreative.de
description: kestra-demo-1 on srv-prod-1
icon: https://kestra-io.gallerycdn.vsassets.io/extensions/kestra-io/kestra/0.0.1/1692285562923/Microsoft.VisualStudio.Services.Icons.Default
- Ansible Semaphore:
href: https://ansiblesemaphore-prod-1.srv-prod-1.home.clcreative.de
description: ansiblesemaphore-prod-1 on srv-prod-1
icon: si-ansible-#EE0000
- ArgoCD:
href: https://argocd-prod-1.kube-prod-1.home.clcreative.de
description: argocd-prod-1 on kube-prod-1
icon: si-argo-#EF7B4D
- IoT and Smarthome:
- Home Assistant:
href: https://homeassistant-prod-1.srv-prod-7.home.clcreative.de
icon: home-assistant.png
description: homeassistant-prod-1 on srv-prod-7
widget:
type: homeassistant
url: https://homeassistant-prod-1.srv-prod-7.home.clcreative.de
key: {{HOMEPAGE_VAR_HOMEASSISTANT_KEY}}
custom:

View File

@ -0,0 +1,31 @@
---
title: My Awesome Homepage
headerStyle: boxed
background:
image: https://images.unsplash.com/photo-1637825891028-564f672aa42c
blur: xl
brightness: 90
opacity: 60
cardBlur: sm
providers:
openweathermap: openweathermapapikey
weatherapi: weatherapiapikey
layout:
Networking:
icon: mdi-network-#FFFFFF
Infrastructure and Data:
icon: mdi-server-#FFFFFF
Management:
icon: mdi-auto-fix-#FFFFFF
Monitoring:
icon: mdi-list-status-#FFFFFF
Automation:
icon: mdi-cog-play-#FFFFFF
IoT and Smarthome:
icon: mdi-home-#FFFFFF
Security and Identity:
icon: mdi-shield-lock-#FFFFFF

View File

@ -0,0 +1,15 @@
---
- resources:
cpu: true
memory: true
disk: /
- search:
provider: bing
target: _blank
- datetime:
text_size: xl
format:
timeStyle: short
hourCycle: h23

View File

@ -0,0 +1,17 @@
version: "3.3"
services:
homepage:
container_name: Homepage-App
hostname: Homepage-App
image: ghcr.io/gethomepage/homepage:latest
ports:
- 3000:3000
volumes:
- ./config:/app/config
- ./images:/app/images
- ./icones:/app/icones
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods
environment:
PUID: $PUID
PGID: $PGID
restart: unless-stopped

View File

@ -0,0 +1,30 @@
---
networks:
frontend:
external: true
backend:
external: true
volumes:
influxdb2-data:
services:
influxdb:
container_name: ixdb-prod-1
image: influxdb:2.7.1-alpine
volumes:
- influxdb2-data:/var/lib/influxdb2
- ./etc:/etc/influxdb2
- ./ssl/ixdb-prod-1.crt:/etc/ssl/cert.pem
- ./ssl/ixdb-prod-1.key:/etc/ssl/cert-key.pem
command: influxd --tls-cert=/etc/ssl/cert.pem --tls-key=/etc/ssl/cert-key.pem
labels:
- traefik.enable=true
- traefik.http.services.ixdb-prod-1.loadbalancer.server.port=8086
- traefik.http.services.ixdb-prod-1.loadbalancer.server.scheme=https
- traefik.http.routers.ixdb-prod-1-https.entrypoints=websecure
- traefik.http.routers.ixdb-prod-1-https.rule=Host(`ixdb-prod-1.srv-prod-2.home.clcreative.de`)
- traefik.http.routers.ixdb-prod-1-https.tls=true
- traefik.http.routers.ixdb-prod-1-https.tls.certresolver=cloudflare
networks:
- frontend
- backend
restart: unless-stopped

View File

@ -0,0 +1,22 @@
datasources:
postgres:
url: jdbc:postgresql://postgres-demo-1:5432/kestra
driverClassName: org.postgresql.Driver
username: kestra
password: k3str4
kestra:
server:
basic-auth:
enabled: false
repository:
type: postgres
storage:
type: local
local:
base-path: "/app/storage"
queue:
type: postgres
tasks:
tmp-dir:
path: /tmp/kestra-wd/tmp
url: http://localhost:8080/

View File

@ -0,0 +1,48 @@
networks:
frontend:
external: true
volumes:
kestra-data:
driver: local
postgres-data:
driver: local
services:
postgres:
image: postgres
container_name: postgres-demo-1
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 30s
timeout: 10s
retries: 10
restart: unless-stopped
kestra:
image: kestra/kestra:latest-full
container_name: kestra-demo-1
pull_policy: always
entrypoint: /bin/bash
user: "root"
command:
- -c
- /app/kestra server standalone --worker-thread=128 -c config.yaml
volumes:
- kestra-data:/app/storage
- ./config/config.yaml:/app/config.yaml:ro
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/kestra-wd:/tmp/kestra-wd
environment:
- KESTRA_DOCKERHUB_USERNAME=${KESTRA_DOCKERHUB_USERNAME}
- KESTRA_DOCKERHUB_PASSWORD=${KESTRA_DOCKERHUB_PASSWORD}
ports:
- 8280:8080
- 8281:8081
restart: unless-stopped
depends_on:
postgres:
condition: service_started

View File

@ -0,0 +1,21 @@
id: build-docker-1
namespace: demo
tasks:
- id: git
type: io.kestra.core.tasks.flows.WorkingDirectory
tasks:
- id: clone
type: io.kestra.plugin.git.Clone
url: https://github.com/christianlempa/hackbox
branch: main
- id: build
type: io.kestra.plugin.docker.Build
dockerfile: "src/Dockerfile"
tags:
- registry.hub.docker.com/xcad2k/hackbox-test:latest
push: true
credentials:
username: "{{ envs.dockerhub_username }}"
password: "{{ envs.dockerhub_password }}"

View File

@ -0,0 +1,30 @@
id: build-docker-2
namespace: demo
tasks:
- id: directory
type: io.kestra.core.tasks.flows.WorkingDirectory
tasks:
- id: createFiles
type: io.kestra.core.tasks.storages.LocalFiles
inputs:
Dockerfile: |
FROM alpine:latest
WORKDIR /app
COPY . /app
RUN apk add --update python3
CMD [ "python", "main.py"]
main.py: |
if __name__ == "__main__":
print("Hello from Docker!")
exit(0)
- id: build
type: io.kestra.plugin.docker.Build
dockerfile: "Dockerfile"
tags:
- registry.hub.docker.com/xcad2k/hello-docker:latest
push: true
credentials:
username: "{{ envs.dockerhub_username }}"
password: "{{ envs.dockerhub_password }}"

View File

@ -0,0 +1,20 @@
---
networks:
frontend:
external: true
backend:
external: true
volumes:
mariadb-data:
services:
mariadb:
container_name: db-prod-1
image: mariadb:11.0.3
ports:
- 3306:3306
volumes:
- mariadb-data:/var/lib/mysql
networks:
- frontend
- backend
restart: unless-stopped

View File

@ -0,0 +1,53 @@
---
networks:
frontend:
external: true
backend:
external: true
volumes:
vol-1:
driver: local
driver_opts:
type: nfs
o: addr=nas-prod-1.home.clcreative.de,rw,vers=4.1
device: ":/mnt/store/app-pv/passbolt-demo-1-vol-1"
vol-2:
driver: local
driver_opts:
type: nfs
o: addr=nas-prod-1.home.clcreative.de,rw,vers=4.1
device: ":/mnt/store/app-pv/passbolt-demo-1-vol-2"
services:
passbolt:
container_name: passbolt-demo-1
image: passbolt/passbolt:4.2.0-1-ce
environment:
- APP_FULL_BASE_URL=https://passbolt-demo-1.srv-prod-1.home.clcreative.de
- DATASOURCES_DEFAULT_HOST=db-prod-1.home.clcreative.de
- DATASOURCES_DEFAULT_USERNAME=passbolt-demo-1-user
- DATASOURCES_DEFAULT_PASSWORD=${DATASOURCES_DEFAULT_PASSWORD}
- DATASOURCES_DEFAULT_DATABASE=passbolt_demo_1_db
- EMAIL_TRANSPORT_DEFAULT_HOST=smtp.office365.com
- EMAIL_TRANSPORT_DEFAULT_PORT=587
- EMAIL_TRANSPORT_DEFAULT_USERNAME=${EMAIL_TRANSPORT_DEFAULT_USERNAME}
- EMAIL_TRANSPORT_DEFAULT_PASSWORD=${EMAIL_TRANSPORT_DEFAULT_PASSWORD}
- EMAIL_TRANSPORT_DEFAULT_TLS=true
- EMAIL_DEFAULT_FROM=${EMAIL_DEFAULT_FROM}
volumes:
- vol-1:/etc/passbolt/gpg
- vol-2:/etc/passbolt/jwt
command: ["/usr/bin/wait-for.sh", "-t", "0", "db-prod-1.home.clcreative.de:3306", "--", "/docker-entrypoint.sh"]
labels:
traefik.enable: "true"
traefik.http.routers.passbolt-http.entrypoints: "web"
traefik.http.routers.passbolt-http.rule: "Host(`passbolt-demo-1.srv-prod-1.home.clcreative.de`)"
traefik.http.routers.passbolt-http.middlewares: "passbolt-demo-1-middleware@file"
traefik.http.routers.passbolt-https.middlewares: "passbolt-demo-1-middleware@file"
traefik.http.routers.passbolt-https.entrypoints: "websecure"
traefik.http.routers.passbolt-https.rule: "Host(`passbolt-demo-1.srv-prod-1.home.clcreative.de`)"
traefik.http.routers.passbolt-https.tls: "true"
traefik.http.routers.passbolt-https.tls.certresolver: "cloudflare"
networks:
- frontend
- backend
restart: unless-stopped

View File

@ -18,6 +18,7 @@ Voici la liste des l'ensembles des docker-compose d'application que j'utilise.
| Data capture | [Graylog](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Graylog/ "Graylog") |||✅||| https://graylog.org |
| Remote | [Guacamole](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Guacamole/ "Guacamole") |||✅|✅|| https://guacamole.apache.org |
| Repository | [Harbor](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Harbor/ "Harbor") |||||| https://goharbor.io |
| Customer | [Homepage](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Homepage/ "Homepage") |||||| https://gethomepage.dev |
| Stokage/Partage | [Immich](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Immich/ "Immich") |||||| https://immich.app |
| | [Jaeger](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Jaeger/ "Jaeger") |||||| https://www.jaegertracing.io |
| Stream | [Jellyfin](https://git.tips-of-mine.fr/Tips-Of-Mine/Docker/src/branch/main/Jellyfin/ "Jellyfin") |||||| https://jellyfin.org |

View File

@ -0,0 +1,22 @@
version: v3
teleport:
nodename: teleport-demo-1.srv-prod-1.home.clcreative.de
data_dir: /var/lib/teleport
log:
output: stderr
severity: INFO
format:
output: text
auth_service:
enabled: yes
listen_addr: 0.0.0.0:3025
proxy_listener_mode: multiplex
cluster_name: teleport-demo-1.srv-prod-1.home.clcreative.de
ssh_service:
enabled: no
proxy_service:
enabled: yes
web_listen_addr: 0.0.0.0:3080
public_addr: teleport-demo-1.srv-prod-1.home.clcreative.de
https_keypairs: []
acme: {}

View File

@ -0,0 +1,29 @@
---
networks:
frontend:
external: true
services:
teleport:
image: public.ecr.aws/gravitational/teleport-distroless-debug:15.1.4
container_name: teleport-demo-1
ports:
- "3080:3080"
- "3023:3023"
- "3024:3024"
- "3025:3025"
volumes:
- ./config:/etc/teleport
- ./data:/var/lib/teleport
labels:
traefik.enable: "true"
traefik.http.services.teleport-demo-1.loadbalancer.server.port: "3080"
traefik.http.services.teleport-demo-1.loadbalancer.server.scheme: "https"
traefik.http.routers.teleport-demo-1-http.entrypoints: "web"
traefik.http.routers.teleport-demo-1-http.rule: "Host(`teleport-demo-1.srv-prod-1.home.clcreative.de`)"
traefik.http.routers.teleport-demo-1-https.entrypoints: "websecure"
traefik.http.routers.teleport-demo-1-https.rule: "Host(`teleport-demo-1.srv-prod-1.home.clcreative.de`)"
traefik.http.routers.teleport-demo-1-https.tls: "true"
traefik.http.routers.teleport-demo-1-https.tls.certresolver: "cloudflare"
networks:
- frontend
restart: unless-stopped

View File

@ -0,0 +1,21 @@
---
networks:
frontend:
external: true
services:
uptimekuma:
image: louislam/uptime-kuma:1.23.2-alpine
container_name: uptimekuma
volumes:
- ./data:/app/data
labels:
- traefik.enable=true
- traefik.http.routers.uptimekuma-prod-1-http.entrypoints=web
- traefik.http.routers.uptimekuma-prod-1-http.rule=Host(`uptimekuma-prod-1.srv-prod-7.home.clcreative.de`)
- traefik.http.routers.uptimekuma-prod-1-https.entrypoints=websecure
- traefik.http.routers.uptimekuma-prod-1-https.rule=Host(`uptimekuma-prod-1.srv-prod-7.home.clcreative.de`)
- traefik.http.routers.uptimekuma-prod-1-https.tls=true
- traefik.http.routers.uptimekuma-prod-1-https.tls.certresolver=cloudflare
networks:
- frontend
restart: unless-stopped

View File

@ -0,0 +1,26 @@
---
services:
netbird:
image: netbirdio/netbird:0.24.2
container_name: netbird-demo-1
hostname: netbird-demo-1.srv-demo-1.home.clcreative.de
cap_add:
- NET_ADMIN
- SYS_ADMIN
- SYS_RESOURCE
environment:
- NB_SETUP_KEY=${SETUP_KEY}
volumes:
- netbird-client:/etc/netbird
networks:
- frontend
- backend
restart: unless-stopped
volumes:
netbird-client:
name: netbird-client
networks:
frontend:
external: true
backend:
external: true