parent
a938a7bd6e
commit
24a4f8e220
3 changed files with 123 additions and 0 deletions
4
main.tf
4
main.tf
|
@ -10,6 +10,10 @@ module "media-centre" {
|
|||
source = "./modules/media-centre"
|
||||
}
|
||||
|
||||
module "coder" {
|
||||
source = "./modules/coder"
|
||||
}
|
||||
|
||||
module "uptime" {
|
||||
source = "./modules/uptime"
|
||||
}
|
||||
|
|
115
modules/coder/jobspec.json
Normal file
115
modules/coder/jobspec.json
Normal file
|
@ -0,0 +1,115 @@
|
|||
{
|
||||
"ID": "coder",
|
||||
"Name": "Coder",
|
||||
"TaskGroups": [
|
||||
{
|
||||
"Name": "Coder",
|
||||
"Tasks": [
|
||||
{
|
||||
"Driver": "docker",
|
||||
"Name": "coder",
|
||||
"Count": 1,
|
||||
"Config": {
|
||||
"image": "ghcr.io/coder/coder:latest",
|
||||
"ports": [
|
||||
"web"
|
||||
],
|
||||
"volumes": [
|
||||
"/var/run/docker.sock:/var/run/docker.sock"
|
||||
],
|
||||
"group_add": [
|
||||
"998"
|
||||
],
|
||||
"logging": {
|
||||
"type": "elastic/elastic-logging-plugin:8.14.3",
|
||||
"config": [
|
||||
{
|
||||
"hosts": "http://localhost:9200",
|
||||
"user": "docker_writer",
|
||||
"password": "oi*YWZSP_Ukd0y+pQ7EB"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Env": {
|
||||
"CODER_PG_CONNECTION_URL": "postgresql://coder:reu2zeeth9BeeWai9ohl1tierea6ooze@${NOMAD_ADDR_database}/coder?sslmode=disable",
|
||||
"CODER_HTTP_ADDRESS": "0.0.0.0:7080",
|
||||
"CODER_ACCESS_URL": "https://coder.brmartin.co.uk"
|
||||
},
|
||||
"Resources": {
|
||||
"CPU": 1000,
|
||||
"MemoryMB": 1024
|
||||
}
|
||||
},
|
||||
{
|
||||
"Driver": "docker",
|
||||
"Name": "database",
|
||||
"Count": 1,
|
||||
"Lifecycle": {
|
||||
"Hook": "prestart",
|
||||
"Sidecar": true
|
||||
},
|
||||
"Config": {
|
||||
"image": "postgres:16",
|
||||
"ports": [
|
||||
"database"
|
||||
],
|
||||
"mounts": [
|
||||
{
|
||||
"type": "volume",
|
||||
"target": "/var/lib/postgresql/data",
|
||||
"source": "coder-data"
|
||||
}
|
||||
],
|
||||
"logging": {
|
||||
"type": "elastic/elastic-logging-plugin:8.14.3",
|
||||
"config": [
|
||||
{
|
||||
"hosts": "http://localhost:9200",
|
||||
"user": "docker_writer",
|
||||
"password": "oi*YWZSP_Ukd0y+pQ7EB"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Env": {
|
||||
"POSTGRES_USER": "coder",
|
||||
"POSTGRES_PASSWORD": "reu2zeeth9BeeWai9ohl1tierea6ooze",
|
||||
"POSTGRES_DB": "coder"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Services": [
|
||||
{
|
||||
"Name": "coder",
|
||||
"Provider": "nomad",
|
||||
"PortLabel": "web",
|
||||
"Tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.coder.entrypoints=websecure",
|
||||
"traefik.http.routers.coder.rule=Host(`coder.brmartin.co.uk`)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "database",
|
||||
"Provider": "nomad",
|
||||
"PortLabel": "database"
|
||||
}
|
||||
],
|
||||
"Networks": [
|
||||
{
|
||||
"DynamicPorts": [
|
||||
{
|
||||
"Label": "web",
|
||||
"To": 7080
|
||||
},
|
||||
{
|
||||
"Label": "database",
|
||||
"To": 5432
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
4
modules/coder/main.tf
Normal file
4
modules/coder/main.tf
Normal file
|
@ -0,0 +1,4 @@
|
|||
resource "nomad_job" "media-centre" {
|
||||
jobspec = file("${path.module}/jobspec.json")
|
||||
json = true
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue