Add missing instances

This commit is contained in:
Benoit 2025-02-14 23:36:41 +09:00
parent 18aa66d3c2
commit cb2c403349
Signed by: Benoit
SSH key fingerprint: SHA256:kFsX94Kq6z/6CY0dX+7/FpAeJC0QlMhJVY+B7NYrOmA
7 changed files with 209 additions and 3 deletions

34
adguard.tf Normal file
View file

@ -0,0 +1,34 @@
resource "incus_storage_volume" "adguard_opt_adguard_data" {
name = "adguard_opt_adguard_data"
pool = incus_storage_pool.default.name
}
resource "incus_storage_volume" "adguard_etc_adguard" {
name = "adguard_etc_adguard"
pool = incus_storage_pool.default.name
}
resource "incus_instance" "adguard" {
name = "adguard"
image = "laminar.incus:adguard-0.107.54-4benoitjpnet"
device {
name = "opt_adguard_data"
type = "disk"
properties = {
path = "/opt/adguard/data"
source = incus_storage_volume.adguard_opt_adguard_data.name
pool = incus_storage_pool.default.name
}
}
device {
name = "etc_adguard"
type = "disk"
properties = {
path = "/etc/adguard"
source = incus_storage_volume.adguard_etc_adguard.name
pool = incus_storage_pool.default.name
}
}
}

24
kanboard.tf Normal file
View file

@ -0,0 +1,24 @@
resource "incus_storage_volume" "kanboard_var_www_kanboard_data" {
name = "kanboard_var_www_kanboard_data"
pool = incus_storage_pool.default.name
config = {
"initial.gid" = "33"
"initial.uid" = "33"
"initial.mode" = "770"
}
}
resource "incus_instance" "kanboard" {
name = "kanboard"
image = "laminar.incus:kanboard-1.2.43-1benoitjpnet"
device {
name = "var_www_kanboard_data"
type = "disk"
properties = {
path = "/var/www/kanboard/data"
source = incus_storage_volume.kanboard_var_www_kanboard_data.name
pool = incus_storage_pool.default.name
}
}
}

View file

@ -1,4 +1,24 @@
resource "incus_instance" "mastodon" { resource "incus_storage_volume" "mastodon2_home_mastodon_live_public_system" {
name = "mastodon" name = "mastodon2_home_mastodon_live_public_system"
image = "d90ef7865662" pool = incus_storage_pool.default.name
config = {
"initial.gid" = "1001"
"initial.uid" = "1001"
"initial.mode" = "755"
}
}
resource "incus_instance" "mastodon2" {
name = "mastodon2"
image = "laminar.incus:mastodon-4.3.3-1benoitjpnet"
device {
name = "home_mastodon_live_public_system"
type = "disk"
properties = {
path = "/home/mastodon/live/public/system"
source = incus_storage_volume.mastodon2_home_mastodon_live_public_system.name
pool = incus_storage_pool.default.name
}
}
} }

4
miniflux.tf Normal file
View file

@ -0,0 +1,4 @@
resource "incus_instance" "miniflux" {
name = "miniflux"
image = "laminar.incus:miniflux-2.2.5-3benoitjpnet"
}

63
photoprism.tf Normal file
View file

@ -0,0 +1,63 @@
resource "incus_storage_volume" "photoprism_opt_photoprism_config" {
name = "photoprism_opt_photoprism_config"
pool = incus_storage_pool.default.name
config = {
"initial.gid" = "1001"
"initial.uid" = "1001"
"initial.mode" = "755"
}
}
resource "incus_storage_volume" "photoprism_opt_photoprism_storage" {
name = "photoprism_opt_photoprism_storage"
pool = incus_storage_pool.default.name
config = {
"initial.gid" = "1001"
"initial.uid" = "1001"
"initial.mode" = "755"
}
}
resource "incus_storage_volume" "photoprism_opt_photoprism_originals" {
name = "photoprism_opt_photoprism_originals"
pool = incus_storage_pool.default.name
config = {
"initial.gid" = "1001"
"initial.uid" = "1001"
"initial.mode" = "755"
}
}
resource "incus_instance" "photoprism" {
name = "photoprism"
image = "laminar.incus:photoprism-1.2409.15+240915-e1280b2fb-3benoitjpnet"
device {
name = "photoprism_opt_photoprism_config"
type = "disk"
properties = {
path = "/opt/photoprism/config"
source = incus_storage_volume.photoprism_opt_photoprism_config.name
pool = incus_storage_pool.default.name
}
}
device {
name = "photoprism_opt_photoprism_storage"
type = "disk"
properties = {
path = "/opt/photoprism/storage"
source = incus_storage_volume.photoprism_opt_photoprism_storage.name
pool = incus_storage_pool.default.name
}
}
device {
name = "photoprism_opt_photoprism_originals"
type = "disk"
properties = {
path = "/opt/photoprism/originals"
source = incus_storage_volume.photoprism_opt_photoprism_originals.name
pool = incus_storage_pool.default.name
}
}
}

38
vaultwarden.tf Normal file
View file

@ -0,0 +1,38 @@
resource "incus_storage_volume" "vaultwarden_data" {
name = "vaultwarden_data"
pool = incus_storage_pool.default.name
}
# TODO: Run as UID 1000 not 0 as the default OCI image runs with 0...
resource "incus_instance" "vaultwarden" {
name = "vaultwarden"
image = "docker:vaultwarden/server:1.33.2-alpine"
config = {
"environment.DOMAIN" = "https://vaultwarden.benoit.jp.net"
"environment.SIGNUPS_ALLOWED" = "false"
"environment.SIGNUPS_VERIFY" = "true"
"environment.SIGNUPS_VERIFY_RESEND_TIME" = "600"
"environment.IP_HEADER" = "X-Forwarded-For"
"environment.REQUIRE_DEVICE_EMAIL" = "true"
"environment.SMTP_HOST" = "mail.benoit.jp.net"
"environment.SMTP_FROM" = "pwd-no-reply@benoit.jp.net"
"environment.SMTP_FROM_NAME" = "Vaultwarden"
"environment.SMTP_USERNAME" = "pwd-no-reply@benoit.jp.net"
"environment.SMTP_PASSWORD" = "GET_ME_FROM_VAULTWARDEN"
"environment.SMTP_SECURITY" = "force_tls"
"environment.SMTP_PORT" = "465"
"environment.ROCKET_ADDRESS" = "::"
}
device {
name = "data"
type = "disk"
properties = {
path = "/data"
source = incus_storage_volume.vaultwarden_data.name
pool = incus_storage_pool.default.name
}
}
}

23
www.tf Normal file
View file

@ -0,0 +1,23 @@
# https://wiki.alpinelinux.org/wiki/Nginx
# https://wiki.alpinelinux.org/wiki/Setting_up_a_SSH_server
resource "incus_storage_volume" "www" {
name = "www"
pool = incus_storage_pool.default.name
}
resource "incus_instance" "www" {
name = "www"
image = "images:alpine/3.21"
device {
name = "www"
type = "disk"
properties = {
path = "/www"
source = incus_storage_volume.www.name
pool = incus_storage_pool.default.name
}
}
}