summaryrefslogtreecommitdiff
path: root/terraform/conflatorio-pgadmin/pgadmin.tf
diff options
context:
space:
mode:
Diffstat (limited to 'terraform/conflatorio-pgadmin/pgadmin.tf')
-rw-r--r--terraform/conflatorio-pgadmin/pgadmin.tf45
1 files changed, 45 insertions, 0 deletions
diff --git a/terraform/conflatorio-pgadmin/pgadmin.tf b/terraform/conflatorio-pgadmin/pgadmin.tf
new file mode 100644
index 0000000..b1da390
--- /dev/null
+++ b/terraform/conflatorio-pgadmin/pgadmin.tf
@@ -0,0 +1,45 @@
+resource "docker_image" "pgadmin" {
+ name = "dpage/pgadmin4:7.8"
+}
+
+resource "docker_volume" "pgadmin" {
+ name = "pgadmin"
+}
+
+resource "docker_container" "pgadmin" {
+ image = docker_image.pgadmin.image_id
+ name = "pgadmin"
+ must_run = true
+
+ env = [
+ "PGADMIN_DEFAULT_EMAIL=trygvis@inamo.no",
+ "PGADMIN_DEFAULT_PASSWORD=123",
+ ]
+
+ networks_advanced {
+ name = data.docker_network.traefik.name
+ }
+
+ networks_advanced {
+ name = data.docker_network.public.name
+ }
+
+ dynamic "labels" {
+ for_each = [
+ { label = "traefik.enable", value = "true" },
+ { label = "traefik.docker.network", value = data.docker_network.traefik.name },
+ { label = "traefik.http.routers.pgadmin.rule", value = "Host(`pgadmin.conflatorio.trygvis.io`)" },
+ { label = "traefik.http.routers.pgadmin.entrypoints", value = "websecure" },
+ { label = "traefik.http.routers.pgadmin.tls.certresolver", value = "linode" },
+ ]
+ content {
+ label = labels.value["label"]
+ value = labels.value["value"]
+ }
+ }
+
+ volumes {
+ volume_name = docker_volume.pgadmin.name
+ container_path = "/var/lib/pgadmin"
+ }
+}