diff --git a/system/hosts/mcp/containers/appflowy.nix b/system/hosts/mcp/containers/appflowy.nix deleted file mode 100644 index 32c23c6..0000000 --- a/system/hosts/mcp/containers/appflowy.nix +++ /dev/null @@ -1,89 +0,0 @@ -# Status: Far too complicated to set up right now. There's a lot of built-in -# assumptions about the database and a lot of services to connect to. I think -# they tried to open-source their production code, but it's not particularly -# generic right now. -# -# See https://github.com/AppFlowy-IO/AppFlowy-Cloud/blob/main/doc/DEPLOYMENT.md -{ config, pkgs, ... }: -let - inherit (import ./lib.nix config) mkContainer; - inherit (import ./secrets.nix) appflowy; -in -{ - virtualisation.oci-containers.containers = { - appflowy = mkContainer { - image = "appflowyinc/appflowy_cloud:latest"; - hostName = "appflowy"; - dependsOn = [ - "appflowy-gotrue" - "appflowy-db" - ]; - port = 80; - volumes = []; - environment = { - RUST_LOG = "info"; - APPFLOWY_ENVIRONMENT = "production"; - APPFLOWY_DATABASE_URL = "postgres://${appflowy.db.username}:${appflowy.db.password}@appflowy-db:5432/${appflowy.db.database}"; - APPFLOWY_REDIS_URI = redis://valkey:6379; - APPFLOWY_GOTRUE_JWT_SECRET=appflowy.gotrue.jwt.secret; - APPFLOWY_GOTRUE_JWT_EXP = toString appflowy.gotrue.jwt.expiration; - APPFLOWY_GOTRUE_BASE_URL= "http://appflowy-gotrue:9999"; - APPFLOWY_GOTRUE_EXT_URL = "http://appflowy-gotrue.havenisms.com"; - APPFLOWY_GOTRUE_ADMIN_EMAIL = appflowy.gotrue.admin.email; - APPFLOWY_GOTRUE_ADMIN_PASSWORD = appflowy.gotrue.admin.password; - APPFLOWY_S3_USE_MINIO = "true"; - APPFLOWY_S3_MINIO_URL= "https://minio.${config.domainName}"; - APPFLOWY_S3_ACCESS_KEY = appflowy.s3.accessKey; - APPFLOWY_S3_SECRET_KEY = appflowy.s3.secretKey; - APPFLOWY_S3_BUCKET = appflowy.s3.bucket; - APPFLOWY_S3_REGION="us-east-1"; - # APPFLOWY_MAILER_SMTP_HOST=${APPFLOWY_MAILER_SMTP_HOST} - # APPFLOWY_MAILER_SMTP_PORT=${APPFLOWY_MAILER_SMTP_PORT} - # APPFLOWY_MAILER_SMTP_USERNAME=${APPFLOWY_MAILER_SMTP_USERNAME} - # APPFLOWY_MAILER_SMTP_PASSWORD=${APPFLOWY_MAILER_SMTP_PASSWORD} - # APPFLOWY_ACCESS_CONTROL=${APPFLOWY_ACCESS_CONTROL} - # APPFLOWY_DATABASE_MAX_CONNECTIONS=${APPFLOWY_DATABASE_MAX_CONNECTIONS} - # APPFLOWY_AI_SERVER_HOST=${APPFLOWY_AI_SERVER_HOST} - # APPFLOWY_AI_SERVER_PORT=${APPFLOWY_AI_SERVER_PORT} - # APPFLOWY_OPENAI_API_KEY=${APPFLOWY_OPENAI_API_KEY} - }; - homepageOpts = { - group = "Apps "; - name = "Appflowy"; - icon = "appflowy.svg"; - description = "Knowledge Base"; - }; - }; - appflowy-db = { - image = "docker.io/postgres:16-alpine"; - autoStart = true; - volumes = [ - # TODO: move to faster storage? - "/tank/appflowy/db:/var/lib/postgresql/data" - "/tank/appflowy/migrations/before:/docker-entrypoint-initdb.d" - ]; - environment = { - POSTGRES_USER = appflowy.db.username; - POSTGRES_PASSWORD = appflowy.db.password; - POSTGRES_DB = appflowy.db.database; - }; - extraOptions = []; - }; - appflowy-gotrue = { - image = "appflowyinc/gotrue:latest"; - autoStart = true; - dependsOn = []; - extraOptions = []; - volumes = []; - environment = { - GOTRUE_SITE_URL = "https://appflowy.havenisms.com"; - GOTRUE_JWT_SECRET = appflowy.gotrue.jwt.secret; - GOTRUE_JWT_EXP = toString appflowy.gotrue.jwt.expiration; - GOTRUE_DB_DRIVER = "postgres"; - API_EXTERNAL_URL = "http://appflowy-gotrue.havenisms.com"; - DATABASE_URL = "postgres://supabase_auth_admin:root@appflowy-db:5432/${appflowy.db.database}"; - PORT = "9999"; - }; - }; - }; -} \ No newline at end of file