Update to kreuzwerker/docker:3.0.2 and the latest terraform

This commit is contained in:
Marc Fokkert
2023-07-27 12:56:20 +02:00
parent 4158cf6ebb
commit adbbb205e1
34 changed files with 2722 additions and 4096 deletions

33
.terraform.lock.hcl generated
View File

@@ -2,22 +2,23 @@
# Manual edits may be lost in future updates. # Manual edits may be lost in future updates.
provider "registry.terraform.io/kreuzwerker/docker" { provider "registry.terraform.io/kreuzwerker/docker" {
version = "2.15.0" version = "3.0.2"
constraints = "2.15.0" constraints = "3.0.2"
hashes = [ hashes = [
"h1:NkSDvVnpey6pAcrq1uYnOH7nr4m/mJ5lw5f62ieXcyE=", "h1:DcRxJArfX6EiATluWeCBW7HoD6usz9fMoTK2U3dmyPk=",
"zh:0241e5c7b66c14aa54e367dfe380fbde8388d3254cbe8a70717c12f71897e82b", "zh:15b0a2b2b563d8d40f62f83057d91acb02cd0096f207488d8b4298a59203d64f",
"zh:0f162f0a01ffe9eec32e78dfc2a5b05a373230c41f041439efa3f4b68903fdcb", "zh:23d919de139f7cd5ebfd2ff1b94e6d9913f0977fcfc2ca02e1573be53e269f95",
"zh:1c222c1425fbb0367154bcb8e4d87b19d6eae133fbb341f73102fa3b300f34bf", "zh:38081b3fe317c7e9555b2aaad325ad3fa516a886d2dfa8605ae6a809c1072138",
"zh:679206433e31d8fa69d95167af6d2cd762218e89811b735ee20bd8da19f97854", "zh:4a9c5065b178082f79ad8160243369c185214d874ff5048556d48d3edd03c4da",
"zh:a16baab045bc7a709a9767816304cc5548aa2ee0b72c0eee49e3826e6a46a3fd", "zh:5438ef6afe057945f28bce43d76c4401254073de01a774760169ac1058830ac2",
"zh:a29c4e304a6a7faf5b651a61a91a1aa2e837591cff049fbe1c747b6319e43956", "zh:60b7fadc287166e5c9873dfe53a7976d98244979e0ab66428ea0dea1ebf33e06",
"zh:bed7a69dbb9a024aecfac840ca2ac2f1527062f3d9c8c718e4e81d464b5ad329", "zh:61c5ec1cb94e4c4a4fb1e4a24576d5f39a955f09afb17dab982de62b70a9bdd1",
"zh:c22aa10806de216b6aa0b36a2c1114a9fdaa5b47925aaad3333de3ce24cc52c9", "zh:a38fe9016ace5f911ab00c88e64b156ebbbbfb72a51a44da3c13d442cd214710",
"zh:d034295663d8a39035fd6fdf0488b72544b13f48acaee797af967343248676f8", "zh:c2c4d2b1fd9ebb291c57f524b3bf9d0994ff3e815c0cd9c9bcb87166dc687005",
"zh:d9001dfeac0db1799d8ab9d04be090522529baae0dba7f7e82b71f2168f05582", "zh:d567bb8ce483ab2cf0602e07eae57027a1a53994aba470fa76095912a505533d",
"zh:d9f3eb7ef8f256eb9148d72bd4a00e34f3be5570484598e26b603cbdc5eed923", "zh:e83bf05ab6a19dd8c43547ce9a8a511f8c331a124d11ac64687c764ab9d5a792",
"zh:ef573f1e0f000127fa9f569c8ee320f03ba1d302a6fbf9aac8300efa6fc6f4b2", "zh:e90c934b5cd65516fbcc454c89a150bfa726e7cf1fe749790c7480bbeb19d387",
"zh:ef7e246b4205202161b4119c10a1282f74243e029508184132731f9f6f6d9f4c", "zh:f05f167d2eaf913045d8e7b88c13757e3cf595dd5cd333057fdafc7c4b7fed62",
"zh:fcc9c1cea5ce85e8bcb593862e699a881bd36dffd29e2e367f82d15368659c3d",
] ]
} }

View File

@@ -1,3 +1,7 @@
# Installation
Run `terraform init`
# Instructions # Instructions
Terraform cannot create a qnet network, so we do it manually and then import into Terraform. Terraform cannot create a qnet network, so we do it manually and then import into Terraform.
@@ -9,3 +13,9 @@ dockerx.bat network create -d qnet --ipam-driver=qnet --ipam-opt=iface=eth0 --su
``` ```
terraform import docker_network.bridge f9cf6469837bece2c688b65787869af240fcffa95d9d5d3a71a0c4da119e5edc terraform import docker_network.bridge f9cf6469837bece2c688b65787869af240fcffa95d9d5d3a71a0c4da119e5edc
``` ```
## Run considerations
If updating remotely using wireguard, note that it is also run on docker.
So it will cause the tunnel to disconnect. Not sure how to handle this, yet.
Probably not run terraform apply locally and instead run it in a CI solution?

View File

@@ -8,7 +8,7 @@ resource "docker_image" "rhasspy" {
} }
resource "docker_container" "rhasspy" { resource "docker_container" "rhasspy" {
image = docker_image.rhasspy.latest image = docker_image.rhasspy.image_id
name = "rhasspy" name = "rhasspy"
command = [ command = [

View File

@@ -8,7 +8,7 @@ resource "docker_image" "unifi-video" {
} }
resource "docker_container" "unifi-video" { resource "docker_container" "unifi-video" {
image = docker_image.unifi-video.latest image = docker_image.unifi-video.image_id
name = "unifi-video" name = "unifi-video"
mounts { mounts {

View File

@@ -3,7 +3,7 @@ resource "docker_image" "airsonic" {
} }
resource "docker_container" "airsonic" { resource "docker_container" "airsonic" {
image = docker_image.airsonic.latest image = docker_image.airsonic.image_id
name = "airsonic" name = "airsonic"
restart = "always" restart = "always"

View File

@@ -2,7 +2,7 @@ terraform {
required_providers { required_providers {
docker = { docker = {
source = "kreuzwerker/docker" source = "kreuzwerker/docker"
version = "2.15.0" version = "3.0.2"
} }
} }
} }
@@ -26,5 +26,9 @@ resource "docker_network" "bridge" {
subnet = "192.168.2.0/24" subnet = "192.168.2.0/24"
gateway = "192.168.2.1" gateway = "192.168.2.1"
} }
ipam_options = {
iface = "eth0"
}
} }

View File

@@ -6,7 +6,7 @@
} }
resource "docker_container" "freshrss" { resource "docker_container" "freshrss" {
image = docker_image.freshrss.latest image = docker_image.freshrss.image_id
name = "freshrss" name = "freshrss"
restart = "always" restart = "always"

View File

@@ -12,7 +12,7 @@ resource "docker_network" "ginlong-mqtt" {
} }
resource "docker_container" "ginlong-mqtt" { resource "docker_container" "ginlong-mqtt" {
image = docker_image.ginlong-mqtt.latest image = docker_image.ginlong-mqtt.image_id
name = "ginlong-mqtt" name = "ginlong-mqtt"
mounts { mounts {

View File

@@ -3,7 +3,7 @@ resource "docker_image" "gitea" {
} }
resource "docker_container" "gitea" { resource "docker_container" "gitea" {
image = docker_image.gitea.latest image = docker_image.gitea.image_id
name = "gitea" name = "gitea"
restart = "always" restart = "always"
# user = "1000:1000" # user = "1000:1000"

View File

@@ -3,7 +3,7 @@ resource "docker_image" "grafana" {
} }
resource "docker_container" "grafana" { resource "docker_container" "grafana" {
image = docker_image.grafana.latest image = docker_image.grafana.image_id
name = "grafana" name = "grafana"
restart = "always" restart = "always"

View File

@@ -8,7 +8,7 @@ resource "docker_image" "home-assistant" {
} }
resource "docker_container" "home-assistant" { resource "docker_container" "home-assistant" {
image = docker_image.home-assistant.latest image = docker_image.home-assistant.image_id
name = "home-assistant" name = "home-assistant"
hostname = "hass" hostname = "hass"

View File

@@ -4,7 +4,7 @@ resource "docker_image" "kodi" {
resource "docker_container" "kodi" { resource "docker_container" "kodi" {
image = docker_image.kodi.latest image = docker_image.kodi.image_id
name = "kodi" name = "kodi"
restart = "always" restart = "always"

View File

@@ -12,7 +12,7 @@ resource "docker_network" "mariadb" {
} }
resource "docker_container" "mariadb" { resource "docker_container" "mariadb" {
image = docker_image.mariadb.latest image = docker_image.mariadb.image_id
name = "mariadb" name = "mariadb"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "mosquitto" {
} }
resource "docker_container" "mosquitto" { resource "docker_container" "mosquitto" {
image = docker_image.mosquitto.latest image = docker_image.mosquitto.image_id
name = "mosquitto" name = "mosquitto"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "mqtt-exporter" {
} }
resource "docker_container" "mqtt-exporter" { resource "docker_container" "mqtt-exporter" {
image = docker_image.mqtt-exporter.latest image = docker_image.mqtt-exporter.image_id
name = "mqtt-exporter" name = "mqtt-exporter"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "nginx-lb-certbot" {
} }
resource "docker_container" "nginx-lb-certbot" { resource "docker_container" "nginx-lb-certbot" {
image = docker_image.nginx-lb-certbot.latest image = docker_image.nginx-lb-certbot.image_id
name = "nginx-lb-certbot" name = "nginx-lb-certbot"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "nginx-lb" {
} }
resource "docker_container" "nginx-lb" { resource "docker_container" "nginx-lb" {
image = docker_image.nginx-lb.latest image = docker_image.nginx-lb.image_id
name = "nginx-lb" name = "nginx-lb"
mounts { mounts {

View File

@@ -8,7 +8,7 @@ resource "docker_image" "node-red" {
} }
resource "docker_container" "node-red" { resource "docker_container" "node-red" {
image = docker_image.node-red.latest image = docker_image.node-red.image_id
name = "node-red" name = "node-red"
mounts { mounts {

View File

@@ -5,7 +5,7 @@ resource "docker_image" "ofelia" {
} }
resource "docker_container" "ofelia" { resource "docker_container" "ofelia" {
image = docker_image.ofelia.latest image = docker_image.ofelia.image_id
name = "ofelia" name = "ofelia"
restart = "always" restart = "always"

View File

@@ -3,7 +3,7 @@ resource "docker_image" "photoprism" {
} }
resource "docker_container" "photoprism" { resource "docker_container" "photoprism" {
image = docker_image.photoprism.latest image = docker_image.photoprism.image_id
name = "photoprism" name = "photoprism"
restart = "always" restart = "always"

View File

@@ -5,7 +5,7 @@ resource "docker_image" "pihole" {
} }
resource "docker_container" "pihole" { resource "docker_container" "pihole" {
image = docker_image.pihole.latest image = docker_image.pihole.image_id
name = "pihole" name = "pihole"
restart = "always" restart = "always"

View File

@@ -8,7 +8,7 @@ resource "docker_image" "prometheus" {
} }
resource "docker_container" "prometheus" { resource "docker_container" "prometheus" {
image = docker_image.prometheus.latest image = docker_image.prometheus.image_id
name = "prometheus" 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"] 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"]

View File

@@ -3,7 +3,7 @@ resource "docker_image" "rss-bridge" {
} }
resource "docker_container" "rss-bridge" { resource "docker_container" "rss-bridge" {
image = docker_image.rss-bridge.latest image = docker_image.rss-bridge.image_id
name = "rss-bridge" name = "rss-bridge"
restart = "always" restart = "always"

View File

@@ -12,7 +12,7 @@ resource "docker_network" "ru-torrent" {
} }
resource "docker_container" "ru-torrent" { resource "docker_container" "ru-torrent" {
image = docker_image.ru-torrent.latest image = docker_image.ru-torrent.image_id
name = "ru-torrent" name = "ru-torrent"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "smokeping" {
} }
resource "docker_container" "smokeping" { resource "docker_container" "smokeping" {
image = docker_image.smokeping.latest image = docker_image.smokeping.image_id
name = "smokeping" name = "smokeping"
env = [ env = [
"TZ=Europe/Amsterdam" "TZ=Europe/Amsterdam"

View File

@@ -8,7 +8,7 @@ resource "docker_image" "syncthing" {
} }
resource "docker_container" "syncthing" { resource "docker_container" "syncthing" {
image = docker_image.syncthing.latest image = docker_image.syncthing.image_id
name = "syncthing" name = "syncthing"
mounts { mounts {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ resource "docker_image" "traccar" {
} }
resource "docker_container" "traccar" { resource "docker_container" "traccar" {
image = docker_image.traccar.latest image = docker_image.traccar.image_id
name = "traccar" name = "traccar"
mounts { mounts {

View File

@@ -8,7 +8,7 @@ resource "docker_image" "unifi" {
} }
resource "docker_container" "unifi" { resource "docker_container" "unifi" {
image = docker_image.unifi.latest image = docker_image.unifi.image_id
name = "unifi" name = "unifi"
mounts { mounts {

View File

@@ -12,7 +12,7 @@ resource "docker_network" "wireguard" {
} }
resource "docker_container" "wireguard" { resource "docker_container" "wireguard" {
image = docker_image.wireguard.latest image = docker_image.wireguard.image_id
name = "wireguard" name = "wireguard"
capabilities { capabilities {

View File

@@ -4,7 +4,7 @@ resource "docker_image" "youless-exporter" {
} }
resource "docker_container" "youless-exporter" { resource "docker_container" "youless-exporter" {
image = docker_image.youless-exporter.latest image = docker_image.youless-exporter.image_id
name = "youless-exporter" name = "youless-exporter"
restart = "always" restart = "always"

View File

@@ -8,7 +8,7 @@ resource "docker_image" "zigbee-2-mqtt" {
} }
resource "docker_container" "zigbee-2-mqtt" { resource "docker_container" "zigbee-2-mqtt" {
image = docker_image.zigbee-2-mqtt.latest image = docker_image.zigbee-2-mqtt.image_id
name = "zigbee-2-mqtt" name = "zigbee-2-mqtt"
mounts { mounts {