104 switch to daisyui #107

Merged
noahspannbauer merged 8 commits from 104-switch-to-daisyui into main 2025-12-29 22:51:56 -05:00
6 changed files with 41 additions and 29 deletions

View File

@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 node:22-slim FROM node:22
WORKDIR app WORKDIR app
COPY ./api/dist ./api/dist COPY ./api/dist ./api/dist
@@ -9,10 +9,10 @@ WORKDIR api
RUN npm ci RUN npm ci
WORKDIR / WORKDIR /
COPY ./api/entrypoint.sh ./entrypoint.sh COPY ./api/entrypoint.sh ./app/entrypoint.sh
RUN chmod +x entrypoint.sh RUN chmod +x ./app/entrypoint.sh
EXPOSE 3000 EXPOSE 3000
ENTRYPOINT ["/entrypoint.sh"] CMD ["./app/entrypoint.sh"]
# ENTRYPOINT ["tail", "-f", "/dev/null"] # ENTRYPOINT ["tail", "-f", "/dev/null"]

View File

@@ -1,3 +1,4 @@
#!/bin/bash #!/bin/bash
npx typeorm migration:run -d ./app/api/dist/database/data-source.js cd ./app
node ./app/api/dist/main.js npx typeorm migration:run -d ./api/dist/database/data-source.js
node ./api/dist/main.js

View File

@@ -1,4 +1,4 @@
dbs: dbs:
- path: /var/lib/data/flying.db - path: /mnt/data/flying.db
replicas: replicas:
- path: /mnt/backup/flying.db - path: /mnt/data/backup/flying.db

View File

@@ -16,11 +16,11 @@ services:
container_name: restore container_name: restore
image: litestream/litestream:0.3.13 image: litestream/litestream:0.3.13
volumes: volumes:
- ./database/flying.db:/var/lib/data/flying.db - ./database/flying.db:/mnt/data/flying.db
- ./database/litestream/litestream.yml:/mnt/litestream/litestream.yml - ./database/litestream/litestream.yml:/mnt/litestream/litestream.yml
- backup:/mnt/data/backup - backup:/mnt/data/backup
- data:/var/lib/data - data:/mnt/data
command: restore -config /mnt/litestream/litestream.yml -if-db-not-exists -if-replica-exists /var/lib/data/flying.db command: restore -config /mnt/litestream/litestream.yml -if-db-not-exists -if-replica-exists /mnt/data/flying.db
app: app:
container_name: flying container_name: flying
@@ -31,9 +31,9 @@ services:
env_file: env_file:
- ./api/.env - ./api/.env
environment: environment:
- DB_PATH=../../var/lib/data/flying.db - DB_PATH=../../mnt/data/flying.db
volumes: volumes:
- data:/var/lib/data - data:/mnt/data
depends_on: depends_on:
restore: restore:
condition: service_completed_successfully condition: service_completed_successfully
@@ -44,7 +44,7 @@ services:
volumes: volumes:
- ./database/litestream/litestream.yml:/mnt/litestream/litestream.yml - ./database/litestream/litestream.yml:/mnt/litestream/litestream.yml
- backup:/mnt - backup:/mnt
- data:/var/lib/data - data:/mnt/data
command: replicate -config /mnt/litestream/litestream.yml command: replicate -config /mnt/litestream/litestream.yml
depends_on: depends_on:
app: app:

View File

@@ -1,8 +1,3 @@
# data "azuread_application" "app_registration" {
# provider = azuread.external_tenant
# display_name = module.environment.app_reg_name
# }
resource "azurerm_container_app" "container_app" { resource "azurerm_container_app" "container_app" {
name = module.environment.app_name name = module.environment.app_name
container_app_environment_id = data.azurerm_container_app_environment.container_app_environment.id container_app_environment_id = data.azurerm_container_app_environment.container_app_environment.id
@@ -14,7 +9,7 @@ resource "azurerm_container_app" "container_app" {
max_replicas = 2 max_replicas = 2
init_container { init_container {
args = ["restore", "-if-db-not-exists", "-if-replica-exists", "/var/lib/data/flying.db"] args = ["restore", "-if-db-not-exists", "-if-replica-exists", "/mnt/data/flying.db"]
cpu = 0.25 cpu = 0.25
image = "litestream/litestream:0.5.2" image = "litestream/litestream:0.5.2"
memory = "0.5Gi" memory = "0.5Gi"
@@ -22,13 +17,13 @@ resource "azurerm_container_app" "container_app" {
volume_mounts { volume_mounts {
name = "data" name = "data"
path = "/var/lib/data" path = "/mnt/data"
sub_path = "data"
} }
volume_mounts { volume_mounts {
name = "backup" name = "backup"
path = "/mnt/data" path = "/mnt/data/backup"
sub_path = "data"
} }
volume_mounts { volume_mounts {
@@ -47,13 +42,13 @@ resource "azurerm_container_app" "container_app" {
volume_mounts { volume_mounts {
name = "data" name = "data"
path = "/var/lib/data" path = "/mnt/data"
sub_path = "data"
} }
volume_mounts { volume_mounts {
name = "backup" name = "backup"
path = "/mnt/data" path = "/mnt/data/backup"
sub_path = "data"
} }
volume_mounts { volume_mounts {
@@ -65,7 +60,7 @@ resource "azurerm_container_app" "container_app" {
container { container {
cpu = 0.25 cpu = 0.25
image = "noahspan/flying:19615036250" image = "noahspan/flying:20586783321"
memory = "0.5Gi" memory = "0.5Gi"
name = "flying" name = "flying"
@@ -104,6 +99,11 @@ resource "azurerm_container_app" "container_app" {
value = var.JWKS_URI value = var.JWKS_URI
} }
env {
name = "SESSION_SECRET"
secret_name = "session-secret"
}
env { env {
name = "TENANT_ID" name = "TENANT_ID"
value = var.EXTERNAL_TENANT_ID value = var.EXTERNAL_TENANT_ID
@@ -111,7 +111,7 @@ resource "azurerm_container_app" "container_app" {
env { env {
name = "DB_PATH" name = "DB_PATH"
value = "/var/lib/data/flying.db" value = "/mnt/data/flying.db"
} }
env { env {
@@ -130,7 +130,8 @@ resource "azurerm_container_app" "container_app" {
volume_mounts { volume_mounts {
name = "data" name = "data"
path = "/var/lib/data" path = "/mnt/data"
sub_path = "data"
} }
} }
@@ -179,6 +180,11 @@ resource "azurerm_container_app" "container_app" {
value = var.DOCKER_IO_PASSWORD value = var.DOCKER_IO_PASSWORD
} }
secret {
name = "session-secret"
value = var.SESSION_SECRET
}
lifecycle { lifecycle {
ignore_changes = [ template[0].container[0].image, template[0].container[0].image, template[0].init_container[0].image, registry[0].server ] ignore_changes = [ template[0].container[0].image, template[0].container[0].image, template[0].init_container[0].image, registry[0].server ]
} }

View File

@@ -36,6 +36,11 @@ variable "EXTERNAL_TENANT_ID" {
type = string type = string
} }
variable "SESSION_SECRET" {
sensitive = true
type = string
}
variable "TENANT_ID" { variable "TENANT_ID" {
type = string type = string
} }