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:
commit
e17d99fa51
5 changed files with 17563 additions and 0 deletions
76
halkyon_learn_server/config/development.yaml
Normal file
76
halkyon_learn_server/config/development.yaml
Normal 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
|
||||
4
halkyon_learn_server/config/generator.yaml
Normal file
4
halkyon_learn_server/config/generator.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
type: server
|
||||
|
||||
client_package_path: ../halkyon_learn_client
|
||||
server_test_tools_path: test/integration/test_tools
|
||||
79
halkyon_learn_server/config/production.yaml
Normal file
79
halkyon_learn_server/config/production.yaml
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# This is the configuration file for your production environment.
|
||||
# Typically, you will want to route the traffic through a load balancer
|
||||
# which adds SSL security through https. If you use Serverpod's standard
|
||||
# Terraform scripts to deploy your server, all you need to change in
|
||||
# this file is the examplepod.com domain name.
|
||||
|
||||
# Configuration for the main API server.
|
||||
apiServer:
|
||||
port: 8080
|
||||
publicHost: api.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# Configuration for the Insights server.
|
||||
insightsServer:
|
||||
port: 8081
|
||||
publicHost: insights.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# Configuration for the web server.
|
||||
webServer:
|
||||
port: 8082
|
||||
publicHost: app.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# This is the database setup for your servers. The default for the Google Cloud
|
||||
# Engine Terraform configuration is to connect on a private IP address.
|
||||
# If you are connecting on a public IP (e.g. on AWS or Google Cloud Run), you
|
||||
# connect on the public IP of the database e.g. database.examplepod.com.
|
||||
database:
|
||||
host: database.private-production.examplepod.com
|
||||
port: 5432
|
||||
name: serverpod
|
||||
user: postgres
|
||||
requireSsl: true
|
||||
#isUnixSocket: true # defaults to false
|
||||
#maxConnectionCount: 10 # Defaults to 10, a negative or null value removes the limit
|
||||
|
||||
# This is the setup for Redis. The default for the Google Cloud Engine Terraform
|
||||
# configuration is to connect on a private IP address.
|
||||
# If you are connecting on a public IP (e.g. on AWS or Google Cloud Run), you
|
||||
# connect on the public IP of the database e.g. redis.examplepod.com.
|
||||
redis:
|
||||
enabled: false
|
||||
host: redis.private-production.examplepod.com
|
||||
port: 6379
|
||||
#user: # defaults to empty
|
||||
#requireSsl: true # defaults to false
|
||||
|
||||
maxRequestSize: 524288 # The maximum size of requests allowed in bytes
|
||||
|
||||
sessionLogs:
|
||||
consoleEnabled: false
|
||||
# persistentEnabled: true
|
||||
# consoleLogFormat: json # 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:
|
||||
# sameSite: lax # Defaults to "lax", options are "strict" or "none"
|
||||
# #name: serverpod_auth # Defaults to "serverpod_auth"
|
||||
# #refreshName: serverpod_auth_refresh # Defaults to "<name>_refresh"
|
||||
# #domain: examplepod.com # Defaults to host-only; set to share across subdomains
|
||||
# #path: / # Defaults to "/"
|
||||
# #secure: true # Defaults to true; the cookie is only sent over https
|
||||
#allowedOrigins:
|
||||
# - https://app.examplepod.com # The origin serving your Flutter web app
|
||||
83
halkyon_learn_server/config/staging.yaml
Normal file
83
halkyon_learn_server/config/staging.yaml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# This is the configuration file for your staging environment. The staging
|
||||
# environment is meant to resemble the production environment as much as
|
||||
# possible and may connect to production databases services and data. You use it
|
||||
# for final testing before deploying the production server.
|
||||
#
|
||||
# Typically, you will want to route the traffic through a load balancer
|
||||
# which adds SSL security through https. If you use Serverpod's standard
|
||||
# Terraform scripts to deploy your server, all you need to change in
|
||||
# this file is the examplepod.com domain name.
|
||||
|
||||
# Configuration for the main API server.
|
||||
apiServer:
|
||||
port: 8080
|
||||
publicHost: api-staging.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# Configuration for the Insights server.
|
||||
insightsServer:
|
||||
port: 8081
|
||||
publicHost: insights-staging.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# Configuration for the web server.
|
||||
webServer:
|
||||
port: 8082
|
||||
publicHost: app-staging.examplepod.com
|
||||
publicPort: 443
|
||||
publicScheme: https
|
||||
|
||||
# This is the database setup for your servers. The default for the Google Cloud
|
||||
# Engine Terraform configuration is to connect on a private IP address.
|
||||
# If you are connecting on a public IP (e.g. on AWS or Google Cloud Run), you
|
||||
# connect on the public IP of the database e.g. database-staging.examplepod.com.
|
||||
database:
|
||||
host: database.private-staging.examplepod.com
|
||||
port: 5432
|
||||
name: serverpod
|
||||
user: postgres
|
||||
requireSsl: true
|
||||
#isUnixSocket: true # defaults to false
|
||||
#maxConnectionCount: 10 # Defaults to 10, a negative or null value removes the limit
|
||||
|
||||
# This is the setup for Redis. The default for the Google Cloud Engine Terraform
|
||||
# configuration is to connect on a private IP address.
|
||||
# If you are connecting on a public IP (e.g. on AWS or Google Cloud Run), you
|
||||
# connect on the public IP of the database e.g. redis-staging.examplepod.com.
|
||||
redis:
|
||||
enabled: false
|
||||
host: redis.private-staging.examplepod.com
|
||||
port: 6379
|
||||
#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: json # 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:
|
||||
# sameSite: lax # Defaults to "lax", options are "strict" or "none"
|
||||
# #name: serverpod_auth # Defaults to "serverpod_auth"
|
||||
# #refreshName: serverpod_auth_refresh # Defaults to "<name>_refresh"
|
||||
# #domain: examplepod.com # Defaults to host-only; set to share across subdomains
|
||||
# #path: / # Defaults to "/"
|
||||
# #secure: true # Defaults to true; the cookie is only sent over https
|
||||
#allowedOrigins:
|
||||
# - https://app-staging.examplepod.com # The origin serving your Flutter web app
|
||||
57
halkyon_learn_server/config/test.yaml
Normal file
57
halkyon_learn_server/config/test.yaml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# This is the configuration file for your test environment.
|
||||
# All ports are set to zero in this file which makes the server find the next available port.
|
||||
# This is needed to enable running tests concurrently. 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 test server.
|
||||
apiServer:
|
||||
port: 0
|
||||
publicHost: localhost
|
||||
publicPort: 0
|
||||
publicScheme: http
|
||||
|
||||
# Configuration for the Insights test server.
|
||||
insightsServer:
|
||||
port: 0
|
||||
publicHost: localhost
|
||||
publicPort: 0
|
||||
publicScheme: http
|
||||
|
||||
# Configuration for the web test server.
|
||||
webServer:
|
||||
port: 0
|
||||
publicHost: localhost
|
||||
publicPort: 0
|
||||
publicScheme: http
|
||||
|
||||
# This is the database setup for your test server.
|
||||
database:
|
||||
host: localhost
|
||||
port: 9090
|
||||
name: halkyon_learn_test
|
||||
user: postgres
|
||||
dataPath: .serverpod/test/pgdata
|
||||
#maxConnectionCount: 10 # Defaults to 10, a negative or null value removes the limit
|
||||
|
||||
# This is the setup for your Redis test instance.
|
||||
redis:
|
||||
enabled: false
|
||||
host: localhost
|
||||
port: 9091
|
||||
#user: # defaults to empty
|
||||
#requireSsl: true # defaults to false
|
||||
|
||||
sessionLogs:
|
||||
persistentEnabled: true
|
||||
consoleEnabled: true
|
||||
# consoleLogFormat: json # 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
|
||||
Loading…
Reference in a new issue