Initial commit

This commit is contained in:
Marc Fokkert
2023-07-26 21:08:05 +02:00
commit dc66deb991
37 changed files with 1165 additions and 0 deletions

35
.docker/ca.pem Normal file
View File

@@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
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
Diy/Deow/fsxtivSIYameqg=
-----END CERTIFICATE-----

30
.docker/cert.pem Normal file
View File

@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFHTCCAwWgAwIBAgIUf4D1uYzTZSWFY14XVbDy3usRWYwwDQYJKoZIhvcNAQEL
BQAwWjEaMBgGA1UEAxMRQ29udGFpbmVyIFN0YXRpb24xDTALBgNVBAoTBFFOQVAx
DzANBgNVBAgTBlRhaXBlaTEPMA0GA1UEBxMGVGFpcGVpMQswCQYDVQQGEwJUVzAe
Fw0yMjA5MjMxODM1NThaFw0yMzA5MjMxODM1NThaMBExDzANBgNVBAMTBmNsaWVu
dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2PkxxDlom8HrvNMx7+
+hukbDI445h6jAzRu1rgQRAiHS5JrDexvZjEUPu9JDmie8VsCU+7w474VXNQdnMB
t7Zz74R8qt0UDK1vZvPIdvyYQbdxD5X5aN867NHGQEgU9ORndXX5sc25snn3sUEU
k7M0+JjvC8ADZD2tL8JRYTy8d/tLS8Gj/IX3oy0+Q9U6dcwoydf2NFQFICHulhYA
Qj0NpekyT5v5nFg+FlqPIx0TFjAsmkgyQg1jW2b2ZU4Ed4NeqLHpXlvJn6Ug3Dom
3HFGUj/jEEHOkp5wQ1+gwJsJAx0MT+OS1PATIRq8DhxRQBJOPO1Jo06nvhdq6Rjb
ruOkKcq9x5rIUPV4pltnE6NchK9HGA4+B9wb3aOqhAAH02VxIN3LwlLHT3RzzDfZ
habXZkjG8NWFHQ0KdFlfBh8aZGOcw0qkC/4Rw9Im+lVOda1huyWe+0O1FQ8S+8Ua
5HtZywK+ySgHNTqXZ3ZisFy3nQXWLRP/d//sOVVQbx5FpaoXFjzELGneSHt5WLaE
Os5QysCRrIDUkcZdReZiHd8KcXb1dXuirfb807BXfVnkGSgekAIFtRsSU/xb/a7+
HQ/kr2RWGfAVp1qmJJdusG+iciQb6odb5T2sKh/L2EIKG7xm7nj5m8+TGXGzCTIg
JViu7mDY5/JS34apLiQGYpZNAgMBAAGjJDAiMBMGA1UdJQQMMAoGCCsGAQUFBwMC
MAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAmCORe1lON4MH4K2FS8oV
djaLdgJpD+kQiFc0LEXMMlXE3aI9G7RRgK4BypQmBCmp/bnoF87S5S7LVgdUekhc
bUL2dPj4G4diBR3A/W/xfIrMrAdW6I5sCikG87GRTH5gDsfs6NzQfIeiNXwWqCr3
rspYY9QK5qz+C+3coo5Gau6bgyTeZ1G5kkSPzETUrcToUcKt4IjLSgUDDJ75iQ6v
EDYxHKr7JjGEd92yQ4B4vuu348rB590p6YSuSGMM4HubQzMtGDXgdTXlJfod7YOb
SdTBy0hePyxigHU/B1p0owu52Nd5wtMrrIfbUrIpOGfvE/diPOHoL+D7FckpFHfF
21f7acaKm5bgQ/HqBvxiTl8+CZRZWD7hVu4KYs8OdkXnrZLHZFwSuOHZjvSxRsnv
aHyYNc4AAksqYYd8qB75d7rdRpPrSuDUcTZH3h/2vFW8bhGNIGgLETl7nbmtoV61
Irf4FKyNDxboH5PDAE75XZTid9IISgePJ78hjtKkXm3kWyANUyspE4E5VzGkmzYh
mNffl+9UKx63LL3i5Hvkh9t0ZFPfm5YgGQcAsh4mDVDfz2X/Pk0Y2oocJZpvo3cz
Xg0tOLeThpgExqLp/xDnP0olYzbdp50hto+q2WmQeEZz23Vxb3Th7clQVTwfXA57
hMWNQxrwAkWv0dB72+wphfU=
-----END CERTIFICATE-----

51
.docker/key.pem Normal file
View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

18
.docker/old/ca.pem Normal file
View File

@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6jCCAdKgAwIBAgIQeeMKjRLAlcL0KEOnAXL2RzANBgkqhkiG9w0BAQsFADAP
MQ0wCwYDVQQKEwRRTkFQMB4XDTIxMTAxODE3NTIwMFoXDTI0MTAwMjE3NTIwMFow
DzENMAsGA1UEChMEUU5BUDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
APFlddMgMPVaLp4FsP9o0SSIaRwUEklpydIRIJV5zB2LODHeASi/3o2gRdiH3D32
2L6ihFDDgkKGAkzdBcFkgq4htLuUu5QywO5K1AYDWM8fiIWePhkVjEqqb+p4LTHQ
0hi+IDU425QM9uu1xhHikUGGzmZ7NULiVoWQKNFHuqi+ObE/B570f24b1DKvl+wy
mmKCLTGsTy0mqg2x2v1w9iXeRTq1CFNyFoXpOqKkT0eYBcO4mwtY2WnAZJ+Kr6gQ
hVc2JDptmThDq7EMWtdsvJeN2WY1vdxXVuyW6ks9ZvUSHRrT+LGg7D+Cj7Bfg19T
lEy1L6J80+TesjQYpYN1v+kCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgKsMA8GA1Ud
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOQEINxWjZAdSZtuouwvD3qYWXMdMA0GCSqG
SIb3DQEBCwUAA4IBAQCopIBMkVUrLGpYNQJgOl2hXD15NrMaUFA9l3V6z97FuIin
msGMeZ92HtB5EcDw6QMxVeFGIZH3CqjN7Pek99R6XIoylIT0YQSyeSOMni/SVyJF
dRV7t5vr74hnAHMl4ZFyd+6ALVM8zcqP1OJqh9ioM68D3tRg7ISSTyN8w49VG5Ke
4L0e+Zwrjtt5UhX9/a7mPRoUIryzBGEHMFCPuUolZ8KIkWiyqfne3j/pjhB+rsYj
A5HYFO8Fuu8nClQb3ahEnMq3jdvD06TbYIG7WKZvw6FbxUlfyIL983XrDetDfj5B
tRKj1QB3nf+UoG6ZJHPggtjOfKAo0RO+w/mc8UAg
-----END CERTIFICATE-----

19
.docker/old/cert.pem Normal file
View File

@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDHTCCAgWgAwIBAgIRAKmpJuBgocuMys3FKg3qLuwwDQYJKoZIhvcNAQELBQAw
DzENMAsGA1UEChMEUU5BUDAeFw0yMTEwMTgxNzUyMDBaFw0yNDEwMDIxNzUyMDBa
MCMxEDAOBgNVBAoTB3Vua25vd24xDzANBgNVBAMTBmNsaWVudDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAO5qTawpMZrvfzCuJ/GcLyZViQHIL1ByfAdX
aYJPcxa4tr8xdSpRZAGs66hM9gxyK4SheRkvfTWCw0880bdJlEehgwCCQh02/io3
C+w2MOE5InvqTQaazUUQ2ygy9SVPq0GNksjUrq5hrNS7XbE6sy7wiZs4oapmo1HV
ZwTRv8FziExsENLrdOFuxmC6J6iEMR49BoPlfVc4uZ1hgeSfm4YEEXxsVTX+pn8m
ESiTPwRz18w9+ya588t50r8YR4qHAAcnJS2vtFeqV3DWrzzVAGLgj26M+SUfKP3l
AV1WR0A1PC9gHTLgcGnYiJpukwfHt5R/rFpuvIZ4//YiemY/2IUCAwEAAaNgMF4w
DgYDVR0PAQH/BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAM
BgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFOQEINxWjZAdSZtuouwvD3qYWXMdMA0G
CSqGSIb3DQEBCwUAA4IBAQBoULMdhMQ+xLBjqw/LxrdBKiPddWhUOiTKSGONSrsC
pfpO5kinTy/arkg8A0lRhWtY4EGB49PX9aAsgM2QMUeL4LxZk3SOugzjYEJZnzeQ
DnEB+mMLDw99hmi9m95YtjI5PK1ACDYCmd51ymYNXXslOXQbJSHhsJtVcOBv7EAo
+A8rBTjHbSYaYRbQ7ohfKN2hf4q0ud4ozv9SAdLUd0Bij56M4n8nHZa3kOnUI3Wi
WJMZcyrsKPRTQ8EUZetIdnjj6etltHJZ5PrPp2L2QMjEc/1aJj3frgTY2ayXrmuB
wKcPALsOwKXw4ckr5/jICG8QtzuztRiankxPTliMJrbf
-----END CERTIFICATE-----

27
.docker/old/key.pem Normal file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA7mpNrCkxmu9/MK4n8ZwvJlWJAcgvUHJ8B1dpgk9zFri2vzF1
KlFkAazrqEz2DHIrhKF5GS99NYLDTzzRt0mUR6GDAIJCHTb+KjcL7DYw4Tkie+pN
BprNRRDbKDL1JU+rQY2SyNSurmGs1LtdsTqzLvCJmzihqmajUdVnBNG/wXOITGwQ
0ut04W7GYLonqIQxHj0Gg+V9Vzi5nWGB5J+bhgQRfGxVNf6mfyYRKJM/BHPXzD37
Jrnzy3nSvxhHiocAByclLa+0V6pXcNavPNUAYuCPboz5JR8o/eUBXVZHQDU8L2Ad
MuBwadiImm6TB8e3lH+sWm68hnj/9iJ6Zj/YhQIDAQABAoIBACU+mg+xB7zKeTYj
nr3RxlPYvOR4X1vT5qhG8YaX3sTH6lSH52PK/zJ7zvyluTJMi5vWldJnZsn7OYOh
XqmhZvahtpNXxfhGZQI3QzeNZ6lngYmWGp5ThImrjnEDNOS1Q22kLjANeZRoUdWR
x5suLlvA295RxH+YNR9NlSBdm/UeSA9YS3fAe7IAcW0kZMWRGCpMpZKt0s82msgx
6CDDVHUAEUeXT6WCCKG3oAf+ZFX4Mp86dhMIad4RctiNssYTiR4aZ1otv9MPy73g
ND5FhqyfG7moVTJRPnLMDdRUDDwckQkkt4VMJyYqJlcxfDdKIP+3foOE4ov+Fuud
5M+ujekCgYEA/bim7aclaUPng4fYYvwBxU2vgKFTYWTpeYFiXLsZDRn5+4lm1tPQ
5J4DZ792xj1PrOP03DFZ0/VW1gWuCTozPvs0UiqHblSZidCsZGIUMWLrcN8eZeFj
0Hm1CEj3hv5OyPeX4JeeH9aEEiGI61T++/poWrAvj1V+Pe+ROy/JEXsCgYEA8I51
zTP5+CZAaV12WXQzqZeFeX/d1jT8vAN5gtBSXZqvdgbPgJA+6D4/Rgz7jp+FK/jP
0I5LDDh5FMdnda4jQ8f/SlIx+a1CJI0DSCRfkOJOoNELFZ+wUxBzxUKIPrpnWLhQ
PygYPtBozdsSFBmlRMhWeb9drktrNQFlYK4Nnf8CgYBlNuRgqe0isRQKRIbt9do+
+16n0bORhtAcyKCUnY7AyzwOPCHqUVVj3iU9ngOj0ZGXRtjHfmh3Rcf+WQW0aKNI
3K1imdStDtKxR6193iJwESYbQOa/fcpzwBmX1IPqNkj3os3TqqhJyymkkfws5RtT
KfG3O9G9PD3AN3GYStfLQQKBgQCmVovkog02ZxThBsygXHagzXJxKla2GRut0mVC
bFSX/y9W2KzBRH0LUIemI7IK1Alc94aTuuDwCVjIYn4K5Kfj5baEqMN/1ytGZO+h
Ae3HHIWsNACLKkndliHHhBL79R8jPQfYNBxXyvq9Zb9hgL5ECpepRgc8T1BJbbax
HImz9wKBgQCo7107d2TOcmDyr52kNWLK8+fhU7KGbtLqwXzPtZYPxOrJtMKmz99Q
VPwubXDgUBxkEnmOxaJA3PACNvkHE9r635mmZcO04Kd9hMsmeT2+nympBsVh5BNT
SELs4gv8je/2NmsyI8nELAQk69YG3of6POQjFDrX/LKcAt0yQOm9pg==
-----END RSA PRIVATE KEY-----

35
.docker/old2/ca.pem Normal file
View File

@@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
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
Diy/Deow/fsxtivSIYameqg=
-----END CERTIFICATE-----

30
.docker/old2/cert.pem Normal file
View File

@@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFHTCCAwWgAwIBAgIUf4D1uYzTZSWFY14XVbDy3usRWYcwDQYJKoZIhvcNAQEL
BQAwWjEaMBgGA1UEAxMRQ29udGFpbmVyIFN0YXRpb24xDTALBgNVBAoTBFFOQVAx
DzANBgNVBAgTBlRhaXBlaTEPMA0GA1UEBxMGVGFpcGVpMQswCQYDVQQGEwJUVzAe
Fw0yMjA3MjAxMDM3MzBaFw0yMzA3MjAxMDM3MzBaMBExDzANBgNVBAMTBmNsaWVu
dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMOrUh30JIetF5xxZh93
2A0LAvKfvgCZsqukKpfnJ3LiXnA7Ukd4/9DwZL19jj6D7xPX4AyQLDqXeqjHEPQj
0SCqdC3YBoInWnqggXCvDjoiIh6yXdZu2YSAh4N6pYTdE0mexxZ6qSF7obz1NpDF
nGhZGLf5jd4alCltdKG3f1jJjWY2QUbV2g3lqOWQNdnWVU3/NT6iEA/jyszXuGPE
6ikz4LjxYiqlO1SixujUf3Vg8huxQj5p7crjbpVmxRmfhBZXfaiayc18Z6pJPn4w
BeBkzb05mK0qq91Quym6BazU+MftEkk3L5svC7fowEqvSTkdkPeL1xeCnI5jpzi/
mu9EEONRnSujArOvdWTF3sURnQm3DtemF2e+K0HlQ26bq3yODJpnE2oXczYlTkjT
SrwHHRhcq1NB008FQbTOiGMXp+crHEe9jO8MrDtbyhHoHUhxhcpKQ+6EcGiRFwiQ
Dpdly/5DVQmOgkku5kDf9G1W6edQjybEV5lEE0FU/UmYpn02VEYcHMmeJw8vSCWk
IkGYtRUek25ZJDdFsoTHrErxu90V/czWGUAh3opicHViZEBfzwlaoeq/QnCm5KSJ
leNFFf3HYkB6bTXYfqFN6Ovfyz0HN0uG7ZiYGykm4w8YvMr2aJpvKRZ151S4SxuP
VVHb0BMLZO9GnIwSu6dXKg2FAgMBAAGjJDAiMBMGA1UdJQQMMAoGCCsGAQUFBwMC
MAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAmuiNdyUpvQF7ZAI7xala
2Z5wwHrN0toLJvcLDurH2CI9S+TqgGdnoCA0kwrxmVEx6LR+kJMwpQzX3bd/gKEZ
cScWIszwgk0RoO9GA9aJBQllepqb4y8hOH3wrslH1LckBMxSuUpNJi6QARCENMn5
7C5vyQqB6LF31hfqVHFavJomaDR1gCqwH0UGAeSkhjiXlFPKibs07M67+moax6Ut
tjjgDr8ReN+0Xs89MLLHrzYSItjZbRxTmp6yC/KuccHDyiELSltIHCEZCwWrInRF
EyZthPMeLLFbPLciapgFWU1AbLYH37A5nizhsyLlzj5AQzOn7Y4zhR41/MgowuT5
2qn9qlDx3beQ527JEWjGLG2GysnNCOQsLtUWZiRvLABEG7j9D98yK8HHha4+Dor8
MIv5aHUfQ7bnfQjpvWC01adaFztaX6RtzuqDKFXU1WZcp10iA/OT+BQhh1AU7UmS
/VO94+64ktj5NM/Q0lZ4aeTHTYyAt2L+iGXZ6FajVflG0fr++yho6PqENmcWWxNr
lOIl5IzDoWBcqxK/pRKJsnYHWuVPhVkFb2IPLB0nfKs68/7iSXRbCfwP7InOeCZK
Bom33k3G+a/rs1dwW1O4StzzcglBxGkLnHXy29BQarvH79AizaEbA791NPbcL9ws
oHYyRYBcLny7j4EvTF1FgeU=
-----END CERTIFICATE-----

51
.docker/old2/key.pem Normal file
View File

@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

36
.gitignore vendored Normal file
View File

@@ -0,0 +1,36 @@
# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
*.tfstate.*
# Crash log files
crash.log
crash.*.log
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
# password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject
# to change depending on the environment.
*.tfvars
*.tfvars.json
# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json
# Include override files you do wish to add to version control using negated pattern
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# Ignore CLI configuration files
.terraformrc
terraform.rc
youless-exporter/node_modules

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

15
.idea/git_toolbox_prj.xml generated Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxProjectSettings">
<option name="commitMessageIssueKeyValidationOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
<option name="commitMessageValidationEnabledOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
</component>
</project>

6
.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

9
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/qnap-containers-famf.iml" filepath="$PROJECT_DIR$/.idea/qnap-containers-famf.iml" />
</modules>
</component>
</project>

9
.idea/qnap-containers-famf.iml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

23
.terraform.lock.hcl generated Normal file
View File

@@ -0,0 +1,23 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/kreuzwerker/docker" {
version = "2.15.0"
constraints = "2.15.0"
hashes = [
"h1:NkSDvVnpey6pAcrq1uYnOH7nr4m/mJ5lw5f62ieXcyE=",
"zh:0241e5c7b66c14aa54e367dfe380fbde8388d3254cbe8a70717c12f71897e82b",
"zh:0f162f0a01ffe9eec32e78dfc2a5b05a373230c41f041439efa3f4b68903fdcb",
"zh:1c222c1425fbb0367154bcb8e4d87b19d6eae133fbb341f73102fa3b300f34bf",
"zh:679206433e31d8fa69d95167af6d2cd762218e89811b735ee20bd8da19f97854",
"zh:a16baab045bc7a709a9767816304cc5548aa2ee0b72c0eee49e3826e6a46a3fd",
"zh:a29c4e304a6a7faf5b651a61a91a1aa2e837591cff049fbe1c747b6319e43956",
"zh:bed7a69dbb9a024aecfac840ca2ac2f1527062f3d9c8c718e4e81d464b5ad329",
"zh:c22aa10806de216b6aa0b36a2c1114a9fdaa5b47925aaad3333de3ce24cc52c9",
"zh:d034295663d8a39035fd6fdf0488b72544b13f48acaee797af967343248676f8",
"zh:d9001dfeac0db1799d8ab9d04be090522529baae0dba7f7e82b71f2168f05582",
"zh:d9f3eb7ef8f256eb9148d72bd4a00e34f3be5570484598e26b603cbdc5eed923",
"zh:ef573f1e0f000127fa9f569c8ee320f03ba1d302a6fbf9aac8300efa6fc6f4b2",
"zh:ef7e246b4205202161b4119c10a1282f74243e029508184132731f9f6f6d9f4c",
]
}

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
# Instructions
Terraform cannot create a qnet network, so we do it manually and then import into Terraform.
```
./dockerx.bat network create -d qnet --ipam-driver=qnet --ipam-opt=iface=eth1 --subnet=192.168.2.0/24 --gateway=192.168.2.254 terraform-static-eth1-shared --opt=iface=eth1
```
```
terraform import docker_network.bridge 397392d6f21a3e2ff84fe5eda4165a77be1f19f92fa05f02d6c63dbf930471ff
```
# Upgrading
Current version: Terraform v0.12.20
+ provider.docker v2.6.0

View File

@@ -0,0 +1,69 @@
climate:
- platform: mqtt
unique_id: mhi0001a
name: MHI
initial: 21
min_temp: 18
max_temp: 30
modes:
- "auto"
- "dry"
- "cool"
- "fan_only"
- "heat"
- "off"
swing_modes:
- "1"
- "2"
- "3"
- "4"
- "Swing"
- "?"
fan_modes:
- "1"
- "2"
- "3"
- "4"
mode_command_topic: "MHI-AC-Ctrl-F/set/Mode"
temperature_command_topic: "MHI-AC-Ctrl-F/set/Tsetpoint"
fan_mode_command_topic: "MHI-AC-Ctrl-F/set/Fan"
swing_mode_command_topic: "MHI-AC-Ctrl-F/set/Vanes"
current_temperature_topic: "MHI-AC-Ctrl-F/Troom"
mode_state_topic: "MHI-AC-Ctrl-F/Mode"
temperature_state_topic: "MHI-AC-Ctrl-F/Tsetpoint"
fan_mode_state_topic: "MHI-AC-Ctrl-F/Fan"
swing_mode_state_topic: "MHI-AC-Ctrl-F/Vanes"
- platform: mqtt
unique_id: mhi0002a
name: MHI
initial: 21
min_temp: 18
max_temp: 30
modes:
- "auto"
- "dry"
- "cool"
- "fan_only"
- "heat"
- "off"
swing_modes:
- "1"
- "2"
- "3"
- "4"
- "Swing"
- "?"
fan_modes:
- "1"
- "2"
- "3"
- "4"
mode_command_topic: "MHI-AC-Ctrl-B/set/Mode"
temperature_command_topic: "MHI-AC-Ctrl-B/set/Tsetpoint"
fan_mode_command_topic: "MHI-AC-Ctrl-B/set/Fan"
swing_mode_command_topic: "MHI-AC-Ctrl-B/set/Vanes"
current_temperature_topic: "MHI-AC-Ctrl-B/Troom"
mode_state_topic: "MHI-AC-Ctrl-B/Mode"
temperature_state_topic: "MHI-AC-Ctrl-B/Tsetpoint"
fan_mode_state_topic: "MHI-AC-Ctrl-B/Fan"
swing_mode_state_topic: "MHI-AC-Ctrl-B/Vanes"

View File

@@ -0,0 +1,6 @@
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
allow_anonymous false
password_file /mosquitto/config/passwords

View File

View File

@@ -0,0 +1,8 @@
mqtt:
host: "192.168.2.125"
auth: # Optional If included, username_pw_set() is called with user/password
username: 'mqtt-exporter' # Required (when auth is present)
password: 'XKk6725HrTpPW5zkWy9f' # Optional
logging:
level: 'debug' # Optional default 'info'

View File

@@ -0,0 +1,252 @@
# Example metric definition
metrics:
- name: 'mhi_ac_ctrl_f_mode'
help: 'Mode'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/Mode'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_f_power'
help: 'Power'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/Power'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_f_troom'
help: 'Room measured temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/Troom'
- name: 'mhi_ac_ctrl_f_tsetpoint'
help: 'Room setpoint temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/Tsetpoint'
- name: 'mhi_ac_ctrl_f_opdata_td'
help: 'Discharge Pipe Temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/TD'
- name: 'mhi_ac_ctrl_f_opdata_ct'
help: 'Current'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/CT'
- name: 'mhi_ac_ctrl_f_opdata_tdsh'
help: 'Compressor discharge pipe super heat'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/TDSH'
- name: 'mhi_ac_ctrl_f_opdata_ou_fanspeed'
help: 'Outdoor unit fan speed'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/OU-FANSPEED'
- name: 'mhi_ac_ctrl_f_opdata_ou_defrost'
help: 'Defrost control on/off'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/DEFROST'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_f_opdata_ou_eev1'
help: 'Pulse rate of the outdoor unit expansion valve EEVC'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/OU-EEV1'
- name: 'mhi_ac_ctrl_f_opdata_tsetpoint'
help: 'Set temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/Tsetpoint'
- name: 'mhi_ac_ctrl_f_opdata_return_air'
help: 'Return air sensor temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/RETURN-AIR'
- name: 'mhi_ac_ctrl_f_opdata_thi_r1'
help: 'Indoor heat exchanger sensor (on U bend)'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/THI-R1'
- name: 'mhi_ac_ctrl_f_opdata_thi_r2'
help: 'Indoor heat exchanger sensor (on Capillary)'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/THI-R2'
- name: 'mhi_ac_ctrl_f_opdata_thi_r3'
help: 'Indoor heat exchanger sensor (on suction header) '
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/THI-R3'
- name: 'mhi_ac_ctrl_f_opdata_iu_fanspeed'
help: 'Indoor unit fan speed'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/IU-FANSPEED'
- name: 'mhi_ac_ctrl_f_opdata_outdoor'
help: 'Outdoor air temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/OUTDOOR'
- name: 'mhi_ac_ctrl_f_opdata_tho_r1'
help: 'Outdoor unit heat exchanger sensor'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/THO-R1'
- name: 'mhi_ac_ctrl_f_opdata_comp'
help: 'Compressor frequency'
type: 'gauge'
topic: 'MHI-AC-Ctrl-F/OpData/COMP'
- name: 'mhi_ac_ctrl_b_mode'
help: 'Mode'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/Mode'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_b_power'
help: 'Power'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/Power'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_b_troom'
help: 'Room measured temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/Troom'
- name: 'mhi_ac_ctrl_b_tsetpoint'
help: 'Room setpoint temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/Tsetpoint'
- name: 'mhi_ac_ctrl_b_opdata_td'
help: 'Discharge Pipe Temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/TD'
- name: 'mhi_ac_ctrl_b_opdata_ct'
help: 'Current'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/CT'
- name: 'mhi_ac_ctrl_b_opdata_tdsh'
help: 'Compressor discharge pipe super heat'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/TDSH'
- name: 'mhi_ac_ctrl_b_opdata_ou_fanspeed'
help: 'Outdoor unit fan speed'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/OU-FANSPEED'
- name: 'mhi_ac_ctrl_b_opdata_ou_defrost'
help: 'Defrost control on/off'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/DEFROST'
label_configs:
- source_labels: [ '__value__' ]
regex: '^(.*)$'
target_label: 'state'
replacement: '\1'
action: 'replace'
- source_labels: [ '__value__' ]
replacement: '1'
target_label: '__value__'
action: 'replace'
- name: 'mhi_ac_ctrl_b_opdata_ou_eev1'
help: 'Pulse rate of the outdoor unit expansion valve EEVC'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/OU-EEV1'
- name: 'mhi_ac_ctrl_b_opdata_tsetpoint'
help: 'Set temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/Tsetpoint'
- name: 'mhi_ac_ctrl_b_opdata_return_air'
help: 'Return air sensor temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/RETURN-AIR'
- name: 'mhi_ac_ctrl_b_opdata_thi_r1'
help: 'Indoor heat exchanger sensor (on U bend)'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/THI-R1'
- name: 'mhi_ac_ctrl_b_opdata_thi_r2'
help: 'Indoor heat exchanger sensor (on Capillary)'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/THI-R2'
- name: 'mhi_ac_ctrl_b_opdata_thi_r3'
help: 'Indoor heat exchanger sensor (on suction header) '
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/THI-R3'
- name: 'mhi_ac_ctrl_b_opdata_iu_fanspeed'
help: 'Indoor unit fan speed'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/IU-FANSPEED'
- name: 'mhi_ac_ctrl_b_opdata_outdoor'
help: 'Outdoor air temperature'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/OUTDOOR'
- name: 'mhi_ac_ctrl_b_opdata_tho_r1'
help: 'Outdoor unit heat exchanger sensor'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/THO-R1'
- name: 'mhi_ac_ctrl_b_opdata_comp'
help: 'Compressor frequency'
type: 'gauge'
topic: 'MHI-AC-Ctrl-B/OpData/COMP'

View File

@@ -0,0 +1,13 @@
scrape_configs:
- job_name: hass
scrape_interval: 60s
metrics_path: /api/prometheus
authorization:
credentials: ''
static_configs:
- targets: ['192.168.2.70:8123']
- job_name: mqtt
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ['192.168.2.123:9344']

31
docker-qnap.tf Normal file
View File

@@ -0,0 +1,31 @@
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "2.15.0"
}
}
}
provider "docker" {
host = "tcp://192.168.2.250:2376"
cert_path = pathexpand(".docker")
}
resource "docker_network" "bridge" {
name = "terraform-static-eth1-shared"
driver = "qnet"
ipam_driver = "qnet"
internal = false
attachable = false
ingress = false
ipv6 = false
ipam_config {
subnet = "192.168.2.0/24"
gateway = "192.168.2.254"
}
}

6
dockerx.bat Normal file
View File

@@ -0,0 +1,6 @@
docker ^
--tlsverify ^
-H=192.168.2.15:2376 ^
--tlscacert=.docker\ca.pem ^
--tlscert=.docker\cert.pem ^
--tlskey=.docker\key.pem %*

3
env.bat Normal file
View File

@@ -0,0 +1,3 @@
SET DOCKER_CERT_PATH=c:\Dev\qnap-containers-famf\.docker
SET DOCKER_HOST=tcp://192.168.2.15:2376
SET DOCKER_TLS=1

29
grafana.tf Normal file
View File

@@ -0,0 +1,29 @@
resource "docker_image" "grafana" {
name = "grafana/grafana:latest"
}
resource "docker_container" "grafana" {
image = docker_image.grafana.latest
name = "grafana"
restart = "always"
mounts {
read_only = false
target = "/var/lib/grafana"
source = "/share/appdata/grafana"
type = "bind"
}
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.248"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

50
home-assistant.tf Normal file
View File

@@ -0,0 +1,50 @@
data "docker_registry_image" "home-assistant" {
name = "homeassistant/home-assistant"
}
resource "docker_image" "home-assistant" {
name = data.docker_registry_image.home-assistant.name
pull_triggers = [data.docker_registry_image.home-assistant.sha256_digest]
}
resource "docker_container" "home-assistant" {
image = docker_image.home-assistant.latest
name = "home-assistant"
mounts {
read_only = false
target = "/config"
source = "/share/appdata/home-assistant"
type = "bind"
}
restart = "always"
// Untested
depends_on = [
docker_container.mariadb
]
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.249"
}
# Home assistant shouldn't have the ttyACM0 device, managed by zigbee2mqtt
# devices {
# container_path = "/dev/ttyACM0"
# host_path = "/dev/ttyACM0"
# permissions = "rwm"
# }
networks_advanced {
name = docker_network.mariadb.name
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

42
mariadb.tf Normal file
View File

@@ -0,0 +1,42 @@
data "docker_registry_image" "mariadb" {
name = "mariadb:10.4"
}
resource "docker_image" "mariadb" {
name = data.docker_registry_image.mariadb.name
pull_triggers = [data.docker_registry_image.mariadb.sha256_digest]
}
resource "docker_network" "mariadb" {
name = "mariadb"
}
resource "docker_container" "mariadb" {
image = docker_image.mariadb.latest
name = "mariadb"
mounts {
read_only = false
target = "/var/lib/mysql"
source = "/share/appdata/mariadb"
type = "bind"
}
restart = "always"
networks_advanced {
name = docker_network.mariadb.name
}
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.247"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

52
mosquitto.tf Normal file
View File

@@ -0,0 +1,52 @@
data "docker_registry_image" "mosquitto" {
name = "eclipse-mosquitto:2"
}
resource "docker_image" "mosquitto" {
name = data.docker_registry_image.mosquitto.name
pull_triggers = [data.docker_registry_image.mosquitto.sha256_digest]
}
resource "docker_network" "mosquitto" {
name = "mosquitto"
}
resource "docker_container" "mosquitto" {
image = docker_image.mosquitto.latest
name = "mosquitto"
mounts {
read_only = false
target = "/mosquitto/config"
source = "/share/appdata/mosquitto/config"
type = "bind"
}
mounts {
read_only = false
target = "/mosquitto/data"
source = "/share/appdata/mosquitto/data"
type = "bind"
}
mounts {
read_only = false
target = "/mosquitto/log"
source = "/share/appdata/mosquitto/log"
type = "bind"
}
restart = "always"
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.125"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

38
mqtt-exporter.tf Normal file
View File

@@ -0,0 +1,38 @@
data "docker_registry_image" "mqtt-exporter" {
name = "fhemberger/mqtt_exporter:v1.4.1"
}
resource "docker_image" "mqtt-exporter" {
name = data.docker_registry_image.mqtt-exporter.name
pull_triggers = [data.docker_registry_image.mqtt-exporter.sha256_digest]
}
resource "docker_network" "mqtt-exporter" {
name = "mqtt-exporter"
}
resource "docker_container" "mqtt-exporter" {
image = docker_image.mqtt-exporter.latest
name = "mqtt-exporter"
mounts {
read_only = false
target = "/usr/src/app/conf"
source = "/share/appdata/mqtt-exporter"
type = "bind"
}
restart = "always"
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.245"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

33
node-red.tf Normal file
View File

@@ -0,0 +1,33 @@
data "docker_registry_image" "node-red" {
name = "nodered/node-red:latest"
}
resource "docker_image" "node-red" {
name = data.docker_registry_image.node-red.name
pull_triggers = [data.docker_registry_image.node-red.sha256_digest]
}
resource "docker_container" "node-red" {
image = docker_image.node-red.latest
name = "node-red"
mounts {
target = "/data"
source = "/share/appdata/node-red"
type = "bind"
}
restart = "always"
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.244"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

43
prometheus.tf Normal file
View File

@@ -0,0 +1,43 @@
data "docker_registry_image" "prometheus" {
name = "prom/prometheus:latest"
}
resource "docker_image" "prometheus" {
name = data.docker_registry_image.prometheus.name
pull_triggers = [data.docker_registry_image.prometheus.sha256_digest]
}
resource "docker_container" "prometheus" {
image = docker_image.prometheus.latest
name = "prometheus"
command = ["--config.file=/etc/prometheus/prometheus.yml","--storage.tsdb.path=/prometheus", "--web.console.libraries=/usr/share/prometheus/console_libraries","--web.console.templates=/usr/share/prometheus/consoles", "--storage.tsdb.retention.time=2y"]
mounts {
read_only = false
target = "/etc/prometheus"
source = "/share/appdata/prometheus/config"
type = "bind"
}
mounts {
read_only = false
target = "/prometheus"
source = "/share/appdata/prometheus/data"
type = "bind"
}
restart = "always"
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.243"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}

5
prometheus.yml Normal file
View File

@@ -0,0 +1,5 @@
scrape_configs:
- job_name: youless
scrape_interval: 1s
static_configs:
- targets: ['192.168.2.82:4202']

52
zigbee2mqtt.tf Normal file
View File

@@ -0,0 +1,52 @@
data "docker_registry_image" "zigbee-2-mqtt" {
name = "koenkk/zigbee2mqtt"
}
resource "docker_image" "zigbee-2-mqtt" {
name = data.docker_registry_image.zigbee-2-mqtt.name
pull_triggers = [data.docker_registry_image.zigbee-2-mqtt.sha256_digest]
}
resource "docker_container" "zigbee-2-mqtt" {
image = docker_image.zigbee-2-mqtt.latest
name = "zigbee-2-mqtt"
mounts {
target = "/app/data"
source = "/share/appdata/zigbee2mqtt"
type = "bind"
}
mounts {
target = "/run/udev"
source = "/run/udev"
type = "bind"
read_only = true
}
env = [
"TZ=Europe/Amsterdam"
]
restart = "always"
networks_advanced {
name = docker_network.bridge.name
ipv4_address = "192.168.2.242"
}
devices {
container_path = "/dev/ttyACM0"
host_path = "/dev/ttyACM0"
permissions = "rwm"
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}