{ pkgs, ... }: { project.name = "riverside"; networks.riverside.external = false; services = { app = { service = { image = "forge.quinefoundation.com/ironmagma/riverside@sha256:6ad578b0668ac91f37fc3677ce12960b5eeb23c3ba7238e1ba137d35e60fea58"; container_name = "riverside"; restart = "unless-stopped"; networks = [ "riverside" ]; environment = { DB_HOST = "postgres"; DB_NAME = "drupal"; DB_USER = "drupal"; DB_PASS = "drupal"; SITE_NAME = "Portfolio"; BASE_URL = "https://riverside.coldairnetworks.com"; ADMIN_PASS = "admin"; }; volumes = [ "/var/riverside/files:/var/www/html/web/sites/default/files" ]; ports = [ "3011:80" ]; depends_on = [ "postgres" ]; }; }; postgres = { service = { image = "postgres:18-alpine"; container_name = "riverside-postgres"; restart = "unless-stopped"; networks = [ "riverside" ]; environment = { POSTGRES_DB = "drupal"; POSTGRES_USER = "drupal"; POSTGRES_PASSWORD = "drupal"; }; volumes = [ "/var/riverside/postgres:/var/lib/postgresql" ]; healthcheck = { test = [ "CMD-SHELL" "pg_isready -U drupal -d drupal" ]; interval = "5s"; timeout = "5s"; retries = 20; }; }; }; }; }