Pull Proxmox LXC app configs via SSH and document all CTs.

Add pull-lxc-from-proxmox.py using Proxmox API + pct exec for running
containers (vaultwarden, linkwarden, paymenter, NPM, etc). Stub apps for
stopped LXCs with proxmox.meta.yaml and updated lxc-inventory with live IPs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mo
2026-05-17 14:52:28 +02:00
parent c7f1b094cb
commit 9f431ff97b
85 changed files with 1392 additions and 37 deletions
+10
View File
@@ -0,0 +1,10 @@
# autocaliweb
| | |
|---|---|
| **Proxmox** | pve (CT 100) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/100.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 100
hostname: autocaliweb
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# changedetection
| | |
|---|---|
| **Proxmox** | proxmox (CT 118) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/118.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 118
hostname: changedetection
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# clawbot
| | |
|---|---|
| **Proxmox** | pve (CT 102) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/102.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 102
hostname: clawbot
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# CrowdSec
| | |
|---|---|
| **Proxmox** | pve (CT 103) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/103.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 103
hostname: CrowdSec
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# endurain
| | |
|---|---|
| **Proxmox** | pve (CT 114) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/114.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 114
hostname: endurain
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# immich
| | |
|---|---|
| **Proxmox** | pve (CT 112) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/112.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 112
hostname: immich
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# iventoy
| | |
|---|---|
| **Proxmox** | proxmox (CT 112) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/112.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 112
hostname: iventoy
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# kasm
| | |
|---|---|
| **Proxmox** | proxmox (CT 115) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/115.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 115
hostname: kasm
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# kimai
| | |
|---|---|
| **Proxmox** | pve (CT 106) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/106.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 106
hostname: kimai
status: stopped
+14
View File
@@ -0,0 +1,14 @@
# linkwarden
| | |
|---|---|
| **Proxmox** | pve (CT 105) |
| **IP** | 192.168.1.142 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 105
```
View File
@@ -0,0 +1,6 @@
TEST_PASS=
TEST_URL=http://localhost:${TEST_PORT}/api/v1
TEST_PORT_REVERSE=4000
# Default value for port if no other specifies it
TEST_PORT=5000
@@ -0,0 +1,28 @@
services:
postgres:
image: postgres:16-alpine
env_file: .env
restart: always
volumes:
- ./pgdata:/var/lib/postgresql/data
linkwarden:
env_file: .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: always
# build: . # uncomment to build from source
image: ghcr.io/linkwarden/linkwarden:latest # comment to build from source
ports:
- 3000:3000
volumes:
- ./data:/data/data
depends_on:
- postgres
- meilisearch
meilisearch:
image: getmeili/meilisearch:v1.12.8
restart: always
env_file:
- .env
volumes:
- ./meili_data:/meili_data
@@ -0,0 +1,28 @@
services:
postgres:
image: postgres:16-alpine
env_file: .env
restart: always
volumes:
- ./pgdata:/var/lib/postgresql/data
linkwarden:
env_file: .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: always
# build: . # uncomment to build from source
image: ghcr.io/linkwarden/linkwarden:latest # comment to build from source
ports:
- 3000:3000
volumes:
- ./data:/data/data
depends_on:
- postgres
- meilisearch
meilisearch:
image: getmeili/meilisearch:v1.12.8
restart: always
env_file:
- .env
volumes:
- ./meili_data:/meili_data
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 105
hostname: linkwarden
ip: 192.168.1.142
status: running
+10
View File
@@ -0,0 +1,10 @@
# metube
| | |
|---|---|
| **Proxmox** | pve (CT 113) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/113.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 113
hostname: metube
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# n8n
| | |
|---|---|
| **Proxmox** | proxmox (CT 100) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/100.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 100
hostname: n8n
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# nextcloudpi
| | |
|---|---|
| **Proxmox** | proxmox (CT 110) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/110.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 110
hostname: nextcloudpi
status: stopped
+16
View File
@@ -0,0 +1,16 @@
# Nginx Proxy Manager
| | |
|---|---|
| **Proxmox** | dell-proxmox CT 109 |
| **IP** | 192.168.1.173 |
| **UI** | http://192.168.1.173:81 |
Native install (geen docker-compose). Data in `/data` op de LXC.
| Bestand in git | Inhoud |
|---------------|--------|
| `config/npm-data-listing.txt` | Directory listing `/data` |
| `proxmox.meta.yaml` | CT metadata |
Backup handmatig: `pct pull 109 /data/nginx ./config/nginx/` op Proxmox host.
@@ -0,0 +1,19 @@
total 408
drwxr-xr-x 7 root root 4096 May 17 12:11 .
drwxr-xr-x 20 root root 4096 Mar 11 21:56 ..
drwxr-xr-x 2 root root 4096 May 23 2025 access
drwxr-xr-x 2 root root 4096 May 23 2025 custom_ssl
-rw-r--r-- 1 root root 344064 May 17 12:11 database.sqlite
-rw-r--r-- 1 root root 2190 May 23 2025 keys.json
drwxr-xr-x 3 root root 4096 May 23 2025 letsencrypt-acme-challenge
drwxr-xr-x 2 root root 36864 May 17 00:00 logs
drwxr-xr-x 9 root root 4096 May 23 2025 nginx
dead_host
default_host
default_www
dummycert.pem
dummykey.pem
proxy_host
redirection_host
stream
temp
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 109
hostname: nginxproxymanager
ip: 192.168.1.173
status: running
+14
View File
@@ -0,0 +1,14 @@
# nodecast-tv
| | |
|---|---|
| **Proxmox** | pve (CT 119) |
| **IP** | 192.168.1.99 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 119
```
View File
@@ -0,0 +1,13 @@
services:
nodecast-tv:
image: ghcr.io/technomancer702/nodecast-tv:latest
build: https://github.com/technomancer702/nodecast-tv.git#main
container_name: nodecast-tv
ports:
- "3000:3000"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000 # Internal container port
@@ -0,0 +1,13 @@
services:
nodecast-tv:
image: ghcr.io/technomancer702/nodecast-tv:latest
build: https://github.com/technomancer702/nodecast-tv.git#main
container_name: nodecast-tv
ports:
- "3000:3000"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000 # Internal container port
@@ -0,0 +1,13 @@
services:
nodecast-tv:
image: ghcr.io/technomancer702/nodecast-tv:latest
build: https://github.com/technomancer702/nodecast-tv.git#main
container_name: nodecast-tv
ports:
- "3000:3000"
volumes:
- ./data:/app/data
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3000 # Internal container port
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 119
hostname: nodecast-tv
ip: 192.168.1.99
status: running
+10
View File
@@ -0,0 +1,10 @@
# opencloud
| | |
|---|---|
| **Proxmox** | pve (CT 116) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/116.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 116
hostname: opencloud
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# passbolt
| | |
|---|---|
| **Proxmox** | pve (CT 110) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/110.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 110
hostname: passbolt
status: stopped
+14
View File
@@ -0,0 +1,14 @@
# paymenter
| | |
|---|---|
| **Proxmox** | pve (CT 118) |
| **IP** | 192.168.1.45 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 118
```
+38
View File
@@ -0,0 +1,38 @@
APP_NAME=Paymenter
APP_ENV=production
APP_KEY=base64:kbbDXGtU1mzp181rLQan1jt+SjbO4gVxOexjwSMz5Hk=
APP_DEBUG=false
APP_TIMEZONE=UTC
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=daily
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=paymenter
DB_USERNAME=paymenter
DB_PASSWORD=XU9rOictz7O3p
BROADCAST_CONNECTION=log
CACHE_STORE=redis
FILESYSTEM_DISK=local
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
@@ -0,0 +1,38 @@
APP_NAME=Paymenter
APP_ENV=production
APP_KEY=base64:kbbDXGtU1mzp181rLQan1jt+SjbO4gVxOexjwSMz5Hk=
APP_DEBUG=false
APP_TIMEZONE=UTC
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=daily
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=paymenter
DB_USERNAME=paymenter
DB_PASSWORD=XU9rOictz7O3p
BROADCAST_CONNECTION=log
CACHE_STORE=redis
FILESYSTEM_DISK=local
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
+54
View File
@@ -0,0 +1,54 @@
x-common:
database:
&db-environment
# Do not remove the "&db-password" from the end of the line below, it is important
# for Paymenter functionality.
MYSQL_PASSWORD: &db-password "CHANGE_ME"
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
#
# ------------------------------------------------------------------------------------------
# DANGER ZONE BELOW
#
# The remainder of this file likely does not need to be changed. Please only make modifications
# below if you understand what you are doing.
#
services:
database:
image: mariadb:lts
restart: always
command: --default-authentication-plugin=mysql_native_password
volumes:
- "./database:/var/lib/mysql"
environment:
<<: *db-environment
MYSQL_DATABASE: "paymenter"
MYSQL_USER: "paymenter"
cache:
image: redis:alpine
restart: always
paymenter:
image: ghcr.io/paymenter/paymenter:master
restart: always
ports:
- "80:80"
links:
- database
- cache
volumes:
- "./:/app/var/"
- "./storage/logs:/app/storage/logs"
- "./storage/public:/app/storage/app/public"
environment:
DB_PASSWORD: *db-password
APP_ENV: "production"
CACHE_STORE: "redis"
REDIS_HOST: "cache"
DB_CONNECTION: "mariadb"
DB_HOST: "database"
DB_PORT: "3306"
networks:
default:
ipam:
config:
- subnet: 172.23.0.0/16
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 118
hostname: paymenter
ip: 192.168.1.45
status: running
+14
View File
@@ -0,0 +1,14 @@
# pegaprox
| | |
|---|---|
| **Proxmox** | proxmox (CT 111) |
| **IP** | 192.168.1.249 |
| **Host** | 192.168.1.56 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 111
```
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 111
hostname: pegaprox
ip: 192.168.1.249
status: running
+39 -36
View File
@@ -1,6 +1,8 @@
# Proxmox — LXC & VM overzicht
Configs: `hosts/<naam>/lxc/*.conf` en `qemu-server/*.conf`
Configs: `hosts/<naam>/lxc/*.conf` · App-configs: `apps/<hostname>/`
**Pull configs van draaiende CTs:** `python3 scripts/pull-lxc-from-proxmox.py`
## Host: pve (192.168.1.216)
@@ -11,26 +13,26 @@ Configs: `hosts/<naam>/lxc/*.conf` en `qemu-server/*.conf`
| 111 | Syno-latest |
### LXCs
| VMID | Hostname |
|------|----------|
| 100 | autocaliweb |
| 102 | clawbot |
| 103 | CrowdSec |
| 104 | vaultwarden |
| 105 | linkwarden |
| 106 | kimai |
| 107 | pve-scripts-local |
| 108 | tunarr |
| 109 | nextcloudpi |
| 110 | passbolt |
| 112 | immich |
| 113 | metube |
| 114 | endurain |
| 115 | passbolt |
| 116 | opencloud |
| 117 | Proxy |
| 118 | paymenter |
| 119 | nodecast-tv |
| VMID | Hostname | IP (live) | App map | Status |
|------|----------|-----------|---------|--------|
| 100 | autocaliweb | — | [autocaliweb](../autocaliweb/) | stopped |
| 102 | clawbot | — | [clawbot](../clawbot/) | stopped |
| 103 | CrowdSec | — | [crowdsec](../crowdsec/) | stopped |
| 104 | vaultwarden | 192.168.1.5 | [vaultwarden](../vaultwarden/) | **running** |
| 105 | linkwarden | 192.168.1.142 | [linkwarden](../linkwarden/) | **running** |
| 106 | kimai | — | [kimai](../kimai/) | stopped |
| 107 | pve-scripts-local | 192.168.1.23 | [pve-scripts-local](../pve-scripts-local/) | **running** |
| 108 | tunarr | — | [tunarr](../tunarr/) | stopped |
| 109 | nextcloudpi | — | [nextcloudpi](../nextcloudpi/) | stopped |
| 110 | passbolt | — | [passbolt](../passbolt/) | stopped |
| 112 | immich | — | [immich](../immich/) | stopped |
| 113 | metube | — | [metube](../metube/) | stopped |
| 114 | endurain | — | [endurain](../endurain/) | stopped |
| 115 | passbolt | — | [passbolt](../passbolt/) | stopped |
| 116 | opencloud | — | [opencloud](../opencloud/) | stopped |
| 117 | Proxy | 192.168.1.165 | [proxy](../proxy/) | **running** |
| 118 | paymenter | 192.168.1.45 | [paymenter](../paymenter/) | **running** |
| 119 | nodecast-tv | 192.168.1.99 | [nodecast-tv](../nodecast-tv/) | **running** |
## Host: dell-proxmox (192.168.1.56)
@@ -44,19 +46,20 @@ Configs: `hosts/<naam>/lxc/*.conf` en `qemu-server/*.conf`
| 105 | docker |
### LXCs
| VMID | Hostname |
|------|----------|
| 100 | n8n |
| 106 | vdi.el-kadi.nl |
| 107 | Virtualmin |
| 108 | n8n |
| 109 | nginxproxymanager |
| 110 | nextcloudpi |
| 112 | iventoy |
| 113 | traccar |
| 115 | kasm |
| 116 | runtipi |
| 118 | changedetection |
| 119 | n8n |
| VMID | Hostname | IP (live) | App map | Status |
|------|----------|-----------|---------|--------|
| 100 | n8n | — | [n8n](../n8n/) | stopped |
| 106 | vdi.el-kadi.nl | — | [vdi-el-kadi-nl](../vdi-el-kadi-nl/) | stopped |
| 107 | Virtualmin | 192.168.5.24 | [virtualmin](../virtualmin/) | **running** |
| 108 | n8n | — | [n8n](../n8n/) | stopped |
| 109 | nginxproxymanager | 192.168.1.173 | [nginxproxymanager](../nginxproxymanager/) | **running** |
| 110 | nextcloudpi | — | [nextcloudpi](../nextcloudpi/) | stopped |
| 111 | pegaprox | 192.168.1.249 | [pegaprox](../pegaprox/) | **running** |
| 112 | iventoy | — | [iventoy](../iventoy/) | stopped |
| 113 | traccar | — | [traccar](../traccar/) | stopped |
| 115 | kasm | — | [kasm](../kasm/) | stopped |
| 116 | runtipi | — | [runtipi](../runtipi/) | stopped |
| 118 | changedetection | — | [changedetection](../changedetection/) | stopped |
| 119 | n8n | — | [n8n](../n8n/) | stopped |
> App-configs binnen LXCs: backup via `pct enter <id>` of volume mount. Proxmox container-definitie staat al in git.
> Meerdere CTs met dezelfde hostname (n8n, passbolt) — aparte VMIDs, zie `hosts/.../lxc/*.conf`.
+14
View File
@@ -0,0 +1,14 @@
# Proxy
| | |
|---|---|
| **Proxmox** | pve (CT 117) |
| **IP** | 192.168.1.165 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 117
```
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 117
hostname: Proxy
ip: 192.168.1.165
status: running
+14
View File
@@ -0,0 +1,14 @@
# pve-scripts-local
| | |
|---|---|
| **Proxmox** | pve (CT 107) |
| **IP** | 192.168.1.23 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 107
```
@@ -0,0 +1,41 @@
# When adding additional environment variables, the schema in "/src/env.js"
# should be updated accordingly.
REPO_URL="https://github.com/community-scripts/ProxmoxVE"
REPO_BRANCH="main"
SCRIPTS_DIRECTORY="scripts"
ALLOWED_SCRIPT_EXTENSIONS=".sh"
CT_SCRIPT_FOLDER="ct"
INSTALL_SCRIPT_FOLDER="install"
JSON_FOLDER="frontend/public/json"
# Security
MAX_SCRIPT_EXECUTION_TIME="900000"
ALLOWED_SCRIPT_PATHS="scripts/"
# WebSocket Configuration
WEBSOCKET_PORT="3001"
# User settings
GITHUB_TOKEN=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
SAVE_FILTER=false
FILTERS=
AUTH_USERNAME=mo-admin
AUTH_PASSWORD_HASH=$2b$10$3QeM5p2KAn1vAE1A43B4suE5f4qEHYfB4ksAbf0DgtNhhpJJInzF.
AUTH_ENABLED=true
AUTH_SETUP_COMPLETED=true
JWT_SECRET=
DATABASE_URL="file:/opt/ProxmoxVE-Local/data/settings.db"
AUTO_SYNC_ENABLED=false
SYNC_INTERVAL_TYPE=
SYNC_INTERVAL_PREDEFINED=
AUTO_DOWNLOAD_NEW=
AUTO_UPDATE_EXISTING=
NOTIFICATION_ENABLED=
APPRISE_URLS=
LAST_AUTO_SYNC=
SYNC_INTERVAL_CRON=
JWT_SECRET=953fe5a2b3df5a28b5f922128f2b60c9f4672d3c4509858369babe93b2c32c8d92bfafe3ca5f6a71ede018bceec7b2a3507ce62f865efd0294a2d5ac55ffc08f
VIEW_MODE=list
JWT_SECRET=809b2d1ed7388e6fd443316d36e4c6b0bb60b82f8e017e01d9243d8cce0f0a6febca812cb2c7090b6c218b0a9b3852bf3bf9bb56c1a20f3778316382c8abff52
@@ -0,0 +1,30 @@
/opt/ProxmoxVE-Local/server.js
/opt/ProxmoxVE-Local/.gitattributes
/opt/ProxmoxVE-Local/README.md
/opt/ProxmoxVE-Local/.env
/opt/ProxmoxVE-Local/data/settings.db
/opt/ProxmoxVE-Local/VERSION
/opt/ProxmoxVE-Local/postcss.config.js
/opt/ProxmoxVE-Local/.next/app-path-routes-manifest.json
/opt/ProxmoxVE-Local/.next/build-manifest.json
/opt/ProxmoxVE-Local/.next/next-server.js.nft.json
/opt/ProxmoxVE-Local/.next/package.json
/opt/ProxmoxVE-Local/.next/app-build-manifest.json
/opt/ProxmoxVE-Local/.next/react-loadable-manifest.json
/opt/ProxmoxVE-Local/.next/prerender-manifest.json
/opt/ProxmoxVE-Local/.next/routes-manifest.json
/opt/ProxmoxVE-Local/.next/trace
/opt/ProxmoxVE-Local/.next/required-server-files.json
/opt/ProxmoxVE-Local/.next/BUILD_ID
/opt/ProxmoxVE-Local/.next/export-marker.json
/opt/ProxmoxVE-Local/.next/next-minimal-server.js.nft.json
/opt/ProxmoxVE-Local/.next/images-manifest.json
/opt/ProxmoxVE-Local/prisma/schema.prisma
/opt/ProxmoxVE-Local/.github/release-drafter.yml
/opt/ProxmoxVE-Local/.github/CODEOWNERS
/opt/ProxmoxVE-Local/.github/dependabot.yml
/opt/ProxmoxVE-Local/.github/pull_request_template.md
/opt/ProxmoxVE-Local/.github/logo.png
/opt/ProxmoxVE-Local/package.json
/opt/ProxmoxVE-Local/src/env.js
/opt/ProxmoxVE-Local/prettier.config.js
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 107
hostname: pve-scripts-local
ip: 192.168.1.23
status: running
+10
View File
@@ -0,0 +1,10 @@
# runtipi
| | |
|---|---|
| **Proxmox** | proxmox (CT 116) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/116.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 116
hostname: runtipi
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# traccar
| | |
|---|---|
| **Proxmox** | proxmox (CT 113) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/113.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 113
hostname: traccar
status: stopped
+10
View File
@@ -0,0 +1,10 @@
# tunarr
| | |
|---|---|
| **Proxmox** | pve (CT 108) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/pve/lxc/108.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 108
hostname: tunarr
status: stopped
+14
View File
@@ -0,0 +1,14 @@
# vaultwarden
| | |
|---|---|
| **Proxmox** | pve (CT 104) |
| **IP** | 192.168.1.5 |
| **Host** | 192.168.1.216 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 104
```
+7
View File
@@ -0,0 +1,7 @@
ADMIN_TOKEN=''
ROCKET_ADDRESS=0.0.0.0
ROCKET_TLS='{certs="/opt/vaultwarden/ssl-cert-snakeoil.pem",key="/opt/vaultwarden/ssl-cert-snakeoil.key"}'
DATA_FOLDER=/opt/vaultwarden/data
DATABASE_MAX_CONNS=10
WEB_VAULT_FOLDER=/opt/vaultwarden/web-vault
WEB_VAULT_ENABLED=true
@@ -0,0 +1,7 @@
ADMIN_TOKEN=''
ROCKET_ADDRESS=0.0.0.0
ROCKET_TLS='{certs="/opt/vaultwarden/ssl-cert-snakeoil.pem",key="/opt/vaultwarden/ssl-cert-snakeoil.key"}'
DATA_FOLDER=/opt/vaultwarden/data
DATABASE_MAX_CONNS=10
WEB_VAULT_FOLDER=/opt/vaultwarden/web-vault
WEB_VAULT_ENABLED=true
@@ -0,0 +1,124 @@
services:
VaultwardenPrebuild:
profiles: ["playwright", "vaultwarden"]
container_name: playwright_oidc_vaultwarden_prebuilt
image: playwright_oidc_vaultwarden_prebuilt
build:
context: ..
dockerfile: Dockerfile
entrypoint: /bin/bash
restart: "no"
Vaultwarden:
profiles: ["playwright", "vaultwarden"]
container_name: playwright_oidc_vaultwarden-${ENV:-dev}
image: playwright_oidc_vaultwarden-${ENV:-dev}
network_mode: "host"
build:
context: compose/warden
dockerfile: Dockerfile
args:
REPO_URL: ${PW_WV_REPO_URL:-}
COMMIT_HASH: ${PW_WV_COMMIT_HASH:-}
env_file: ${DC_ENV_FILE:-.env}
environment:
- DATABASE_URL
- I_REALLY_WANT_VOLATILE_STORAGE
- LOG_LEVEL
- LOGIN_RATELIMIT_MAX_BURST
- SMTP_HOST
- SMTP_FROM
- SMTP_DEBUG
- SSO_DEBUG_TOKENS
- SSO_FRONTEND
- SSO_ENABLED
- SSO_ONLY
restart: "no"
depends_on:
- VaultwardenPrebuild
Playwright:
profiles: ["playwright"]
container_name: playwright_oidc_playwright
image: playwright_oidc_playwright
network_mode: "host"
build:
context: .
dockerfile: compose/playwright/Dockerfile
environment:
- PW_WV_REPO_URL
- PW_WV_COMMIT_HASH
restart: "no"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/project
Mariadb:
profiles: ["playwright"]
container_name: playwright_mariadb
image: mariadb:11.2.4
env_file: test.env
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
ports:
- ${MARIADB_PORT}:3306
Mysql:
profiles: ["playwright"]
container_name: playwright_mysql
image: mysql:8.4.1
env_file: test.env
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
start_period: 10s
interval: 10s
ports:
- ${MYSQL_PORT}:3306
Postgres:
profiles: ["playwright"]
container_name: playwright_postgres
image: postgres:16.3
env_file: test.env
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
ports:
- ${POSTGRES_PORT}:5432
Maildev:
profiles: ["vaultwarden", "maildev"]
container_name: maildev
image: timshel/maildev:3.0.4
ports:
- ${SMTP_PORT}:1025
- 1080:1080
Keycloak:
profiles: ["keycloak", "vaultwarden"]
container_name: keycloak-${ENV:-dev}
image: quay.io/keycloak/keycloak:25.0.4
network_mode: "host"
command:
- start-dev
env_file: ${DC_ENV_FILE:-.env}
KeycloakSetup:
profiles: ["keycloak", "vaultwarden"]
container_name: keycloakSetup-${ENV:-dev}
image: keycloak_setup-${ENV:-dev}
build:
context: compose/keycloak
dockerfile: Dockerfile
args:
KEYCLOAK_VERSION: 25.0.4
JAVA_URL: https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz
JAVA_VERSION: 21.0.2
network_mode: "host"
depends_on:
- Keycloak
restart: "no"
env_file: ${DC_ENV_FILE:-.env}
@@ -0,0 +1,124 @@
services:
VaultwardenPrebuild:
profiles: ["playwright", "vaultwarden"]
container_name: playwright_oidc_vaultwarden_prebuilt
image: playwright_oidc_vaultwarden_prebuilt
build:
context: ..
dockerfile: Dockerfile
entrypoint: /bin/bash
restart: "no"
Vaultwarden:
profiles: ["playwright", "vaultwarden"]
container_name: playwright_oidc_vaultwarden-${ENV:-dev}
image: playwright_oidc_vaultwarden-${ENV:-dev}
network_mode: "host"
build:
context: compose/warden
dockerfile: Dockerfile
args:
REPO_URL: ${PW_WV_REPO_URL:-}
COMMIT_HASH: ${PW_WV_COMMIT_HASH:-}
env_file: ${DC_ENV_FILE:-.env}
environment:
- DATABASE_URL
- I_REALLY_WANT_VOLATILE_STORAGE
- LOG_LEVEL
- LOGIN_RATELIMIT_MAX_BURST
- SMTP_HOST
- SMTP_FROM
- SMTP_DEBUG
- SSO_DEBUG_TOKENS
- SSO_FRONTEND
- SSO_ENABLED
- SSO_ONLY
restart: "no"
depends_on:
- VaultwardenPrebuild
Playwright:
profiles: ["playwright"]
container_name: playwright_oidc_playwright
image: playwright_oidc_playwright
network_mode: "host"
build:
context: .
dockerfile: compose/playwright/Dockerfile
environment:
- PW_WV_REPO_URL
- PW_WV_COMMIT_HASH
restart: "no"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/project
Mariadb:
profiles: ["playwright"]
container_name: playwright_mariadb
image: mariadb:11.2.4
env_file: test.env
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s
interval: 10s
ports:
- ${MARIADB_PORT}:3306
Mysql:
profiles: ["playwright"]
container_name: playwright_mysql
image: mysql:8.4.1
env_file: test.env
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
start_period: 10s
interval: 10s
ports:
- ${MYSQL_PORT}:3306
Postgres:
profiles: ["playwright"]
container_name: playwright_postgres
image: postgres:16.3
env_file: test.env
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
ports:
- ${POSTGRES_PORT}:5432
Maildev:
profiles: ["vaultwarden", "maildev"]
container_name: maildev
image: timshel/maildev:3.0.4
ports:
- ${SMTP_PORT}:1025
- 1080:1080
Keycloak:
profiles: ["keycloak", "vaultwarden"]
container_name: keycloak-${ENV:-dev}
image: quay.io/keycloak/keycloak:25.0.4
network_mode: "host"
command:
- start-dev
env_file: ${DC_ENV_FILE:-.env}
KeycloakSetup:
profiles: ["keycloak", "vaultwarden"]
container_name: keycloakSetup-${ENV:-dev}
image: keycloak_setup-${ENV:-dev}
build:
context: compose/keycloak
dockerfile: Dockerfile
args:
KEYCLOAK_VERSION: 25.0.4
JAVA_URL: https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz
JAVA_VERSION: 21.0.2
network_mode: "host"
depends_on:
- Keycloak
restart: "no"
env_file: ${DC_ENV_FILE:-.env}
@@ -0,0 +1,13 @@
bake_env.sh
bake.sh
docker-bake.hcl
Dockerfile.alpine
Dockerfile.debian
Dockerfile.j2
DockerSettings.yaml
healthcheck.sh
Makefile
podman-bake.sh
README.md
render_template
start.sh
@@ -0,0 +1,29 @@
Warning: Permanently added '192.168.1.216' (ED25519) to the list of known hosts.
[Unit]
Description=Bitwarden Server (Powered by Vaultwarden)
Documentation=https://github.com/dani-garcia/vaultwarden
After=network.target
[Service]
User=vaultwarden
Group=vaultwarden
EnvironmentFile=-/opt/vaultwarden/.env
ExecStart=/opt/vaultwarden/bin/vaultwarden
LimitNOFILE=65535
LimitNPROC=4096
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=strict
DevicePolicy=closed
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictNamespaces=yes
RestrictRealtime=yes
MemoryDenyWriteExecute=yes
LockPersonality=yes
WorkingDirectory=/opt/vaultwarden
ReadWriteDirectories=/opt/vaultwarden/data
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
+6
View File
@@ -0,0 +1,6 @@
# Vaultwarden draait als systemd-service in LXC 104 (niet Docker).
# Config: config/.env + Proxmox CT-definitie in apps/proxmox/hosts/pve/lxc/104.conf
# URL: https://192.168.1.6:8000 (Homarr) — huidig IP: zie proxmox.meta.yaml
# Optioneel: playwright sub-stack
# config/compose-*-vaultwarden_playwright_docker-compose.yml
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: pve
proxmox_ip: 192.168.1.216
vmid: 104
hostname: vaultwarden
ip: 192.168.1.5
status: running
+10
View File
@@ -0,0 +1,10 @@
# vdi.el-kadi.nl
| | |
|---|---|
| **Proxmox** | proxmox (CT 106) |
| **Status** | gestopt |
Container-definitie: `apps/proxmox/hosts/proxmox/lxc/106.conf`
Start CT en draai `scripts/pull-lxc-from-proxmox.py` opnieuw om app-config te pullen.
+6
View File
@@ -0,0 +1,6 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 106
hostname: vdi.el-kadi.nl
status: stopped
+14
View File
@@ -0,0 +1,14 @@
# Virtualmin
| | |
|---|---|
| **Proxmox** | proxmox (CT 107) |
| **IP** | 192.168.5.24 |
| **Host** | 192.168.1.56 |
Config in `config/` (gepull'd van LXC).
```bash
# Op Proxmox host:
pct enter 107
```
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated
host: proxmox
proxmox_ip: 192.168.1.56
vmid: 107
hostname: Virtualmin
ip: 192.168.5.24
status: running