chore: scaffold the Serverpod 4 build

Deviations from a stock `serverpod create`:
- Dropped Flutter web support, for two reasons:
  - Appflowy editor had issues in the past, potentially related to the
    Flutter-Web IME bridge. Upstream has also open bugs in relation to
that:
    - AppFlowy-IO/appflowy-editor#1029 [Bug][Web] Unwanted space on click
       and overall space bugs (open)
    - AppFlowy-IO/appflowy-editor#782 [Bug] Editor auto-scrolling when
       pressing space too quickly if placed inside a scrollable (open)
  - Offline-first is a required feature. serverpod_offline_sync's SQLite
    support in browsers, maybe via sqlite3.wasm + OPFS, is not
documented.
- SDK constraints raised to ^3.13.0, instead of ^3.12.2, so enjoy the
  newest language features.
- Pinned to Flutter 3.47.4 via FVM.

Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-09-16 19:24:59 +02:00
commit e17d99fa51
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -0,0 +1,76 @@
# This is the configuration file for your local development environment. By
# default, it runs a single server on port 8080. To set up your server, you will
# need to add the name of the database you are connecting to and the user name.
# The password for the database is stored in the config/passwords.yaml.
#
# When running your server locally, the server ports are the same as the public
# facing ports.
# Configuration for the main API server.
apiServer:
port: 8080
publicHost: localhost
publicPort: 8080
publicScheme: http
# Configuration for the Insights server.
insightsServer:
port: 8081
publicHost: localhost
publicPort: 8081
publicScheme: http
# Configuration for the web server.
webServer:
port: 8082
publicHost: localhost
publicPort: 8082
publicScheme: http
# This is the database setup for your server.
database:
host: localhost
port: 8090
name: halkyon_learn
user: postgres
#requireSsl: true # defaults to false
#isUnixSocket: true # defaults to false
dataPath: .serverpod/development/pgdata
#maxConnectionCount: 10 # Defaults to 10, a negative or null value removes the limit
# This is the setup for Redis.
redis:
enabled: false
host: localhost
port: 8091
#user: # defaults to empty
#requireSsl: true # defaults to false
maxRequestSize: 524288 # The maximum size of requests allowed in bytes
sessionLogs:
persistentEnabled: true
consoleEnabled: true
consoleLogFormat: text # Defaults to "json", options are "text" or "json"
# futureCallExecutionEnabled: true # Defaults to true
#futureCall:
# concurrencyLimit: 1 # Defaults to 1, a negative or null value removes the limit
# scanInterval: 5000 # Unit in milliseconds, defaults to 5000
# Recommended when serving web clients: keeps auth tokens in httpOnly
# cookies. Without this, web tokens live in JavaScript-readable storage,
# where any XSS can steal them. Web clients opt in with
# `client.cookieAuth = true`. Requires `allowedOrigins`; browsers from
# origins not in the list lose cross-origin access, including to public
# endpoints.
#authCookie:
# secure: false # Cookies require https; relax only for http://localhost
# #name: serverpod_auth # Defaults to "serverpod_auth"
# #refreshName: serverpod_auth_refresh # Defaults to "<name>_refresh"
# #domain: example.com # Defaults to host-only; set to share across subdomains
# #path: / # Defaults to "/"
# #sameSite: lax # Defaults to "lax", options are "strict" or "none"
#allowedOrigins:
# - http://localhost:8082 # The origin serving your Flutter web app