feat: Migrate code-server to coder
This commit is contained in:
parent
4eb40ca819
commit
4d01562061
4 changed files with 105 additions and 62 deletions
4
main.tf
4
main.tf
|
@ -10,6 +10,6 @@ module "media-centre" {
|
|||
source = "./modules/media-centre"
|
||||
}
|
||||
|
||||
module "code-server" {
|
||||
source = "./modules/code-server"
|
||||
module "coder" {
|
||||
source = "./modules/coder"
|
||||
}
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
{
|
||||
"Job": {
|
||||
"ID": "code-server",
|
||||
"Name": "Code Server",
|
||||
"TaskGroups": [
|
||||
{
|
||||
"Name": "Code Server",
|
||||
"Tasks": [
|
||||
{
|
||||
"Driver": "docker",
|
||||
"Name": "code-server",
|
||||
"Count": 1,
|
||||
"Config": {
|
||||
"image": "codercom/code-server:latest",
|
||||
"ports": [
|
||||
"web"
|
||||
],
|
||||
"volumes": [
|
||||
"local:/home/coder/.local"
|
||||
],
|
||||
"mounts": [
|
||||
{
|
||||
"type": "volume",
|
||||
"target": "/home/coder/.config",
|
||||
"source": "coder-config"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Resources": {
|
||||
"CPU": 1000,
|
||||
"MemoryMB": 1024
|
||||
}
|
||||
}
|
||||
],
|
||||
"Services": [
|
||||
{
|
||||
"Name": "code-server",
|
||||
"Provider": "nomad",
|
||||
"PortLabel": "web",
|
||||
"Tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.code-server.entrypoints=websecure",
|
||||
"traefik.http.routers.code-server.rule=Host(`code.brmartin.co.uk`)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Networks": [
|
||||
{
|
||||
"DynamicPorts": [
|
||||
{
|
||||
"Label": "web",
|
||||
"To": 8080
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
103
modules/coder/jobspec.json
Normal file
103
modules/coder/jobspec.json
Normal file
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"Job": {
|
||||
"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"
|
||||
]
|
||||
},
|
||||
"Env": {
|
||||
"CODER_PG_CONNECTION_URL": "postgresql://${POSTGRES_USER:-username}:${POSTGRES_PASSWORD:-password}@${NOMAD_ADDR_database}/${POSTGRES_DB:-coder}?sslmode=disable",
|
||||
"CODER_HTTP_ADDRESS": "0.0.0.0:7080",
|
||||
"CODER_ACCESS_URL": "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-daata"
|
||||
}
|
||||
],
|
||||
"healthcheck": {
|
||||
"test": [
|
||||
"CMD-SHELL",
|
||||
"pg_isready -U ${POSTGRES_USER:-username} -d ${POSTGRES_DB:-coder}"
|
||||
],
|
||||
"interval": "5s",
|
||||
"timeout": "5s",
|
||||
"retries": 5
|
||||
}
|
||||
},
|
||||
"Env": {
|
||||
"POSTGRES_USER": "${POSTGRES_USER:-username}",
|
||||
"POSTGRES_PASSWORD": "${POSTGRES_PASSWORD:-password}",
|
||||
"POSTGRES_DB": "${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": 8080
|
||||
},
|
||||
{
|
||||
"Label": "database",
|
||||
"To": 5432
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue