From 14256ac81618404a6da03ec7d353e1319525afda Mon Sep 17 00:00:00 2001
From: anima
Date: Wed, 1 Oct 2025 18:00:06 +0200
Subject: [PATCH] add oidc module sql sheme
---
README.md | 15 ++++++++
compose.yml | 1 +
modules/oidc/sqlite.schema.sql | 65 ++++++++++++++++++++++++++++++++++
3 files changed, 81 insertions(+)
create mode 100644 modules/oidc/sqlite.schema.sql
diff --git a/README.md b/README.md
index 12b4c86..de09921 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,21 @@ mv env.sample .env
# - API_ROOT_PASS
# - ICINGA_API_ICINGAWEB_PASS
nano .env # set your env
+```
+setup reverse proxy here caddy
+create a file `./files/Caddyfile` with content:
+```
+mon.example.com {
+ reverse_proxy icingaweb2:8080
+}
+graph.example.com {
+ reverse_proxy grafana:3000
+}
+```
+... or unkomment port expose on grafana and icingaweb2
+... or use own reverse proxy
+
+```
docker compose up
```
diff --git a/compose.yml b/compose.yml
index b1b6085..ed99308 100644
--- a/compose.yml
+++ b/compose.yml
@@ -118,6 +118,7 @@ services:
volumes:
- ./files/dbs/icingaweb_oidc:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
+ - ./modules/oidc/:/docker-entrypoint-initdb.d
networks:
- icinga
environment:
diff --git a/modules/oidc/sqlite.schema.sql b/modules/oidc/sqlite.schema.sql
new file mode 100644
index 0000000..8cc191c
--- /dev/null
+++ b/modules/oidc/sqlite.schema.sql
@@ -0,0 +1,65 @@
+CREATE TABLE tbl_provider
+(
+ id INTEGER PRIMARY KEY,
+ name TEXT,
+ url TEXT,
+ secret TEXT,
+ appname TEXT,
+ logo TEXT,
+ syncgroups TEXT DEFAULT NULL,
+ defaultgroup TEXT DEFAULT NULL,
+ required_groups TEXT DEFAULT NULL,
+ usernameblacklist TEXT DEFAULT NULL,
+ buttoncolor TEXT,
+ textcolor TEXT,
+ caption TEXT,
+ enabled TEXT,
+ ctime REAL,
+ mtime REAL
+);
+
+CREATE TABLE tbl_user
+(
+ id INTEGER PRIMARY KEY,
+ name TEXT,
+ email TEXT,
+ provider_id INTEGER,
+ mapped_local_user TEXT,
+ mapped_backend TEXT,
+ active INTEGER,
+ lastlogin REAL,
+ ctime REAL,
+ mtime REAL
+);
+
+CREATE TABLE tbl_group
+(
+ id INTEGER PRIMARY KEY,
+ name TEXT,
+ parent INTEGER,
+ provider_id INTEGER,
+ ctime REAL,
+ mtime REAL
+);
+
+CREATE TABLE tbl_group_membership
+(
+ id INTEGER PRIMARY KEY,
+ group_id INTEGER,
+ provider_id INTEGER,
+ username TEXT,
+ ctime REAL,
+ mtime REAL
+);
+CREATE TABLE tbl_schema
+(
+ id INTEGER PRIMARY KEY,
+ version TEXT UNIQUE NOT NULL,
+ timestamp REAL NOT NULL,
+ success TEXT,
+ reason TEXT
+
+);
+
+INSERT INTO tbl_schema (version, timestamp, success, reason)
+VALUES ('0.5.7', strftime('%s', 'now') * 1000, 'y', NULL);
\ No newline at end of file