From d1c80a8748e2b58ff22224ad140a78e51b37f13d Mon Sep 17 00:00:00 2001 From: Daniel Widgren Date: Sun, 3 May 2026 12:20:27 +0200 Subject: [PATCH] feat: ASOBI_DB_SOCKET_OPTS=inet default for kura pool Pairs with widgrensit/asobi PR for env-controlled socket_options. Default inet keeps existing IPv4 deployments unchanged. On IPv6-only Postgres networks (Fly, certain k8s setups), override with ASOBI_DB_SOCKET_OPTS=inet6. Approved by asobi-architecture-guardian and erlang-code-reviewer. --- Dockerfile | 4 ++++ config/prod_sys.config.src | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1e129b9..a2f61df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,5 +47,9 @@ ENV ASOBI_PORT=8080 \ ASOBI_DB_USER=postgres \ ASOBI_DB_PASSWORD=postgres +# Erlang term fragment spliced into kura's socket_options list. +# Default forces IPv4; set to "inet6" for IPv6-only Postgres networks. +ENV ASOBI_DB_SOCKET_OPTS=inet + ENTRYPOINT ["tini", "--"] CMD ["bin/asobi_lua", "foreground"] diff --git a/config/prod_sys.config.src b/config/prod_sys.config.src index 304a4c6..ef77b46 100644 --- a/config/prod_sys.config.src +++ b/config/prod_sys.config.src @@ -41,7 +41,8 @@ {database, "${ASOBI_DB_NAME}"}, {user, "${ASOBI_DB_USER}"}, {password, "${ASOBI_DB_PASSWORD}"}, - {pool_size, 10} + {pool_size, 10}, + {socket_options, [${ASOBI_DB_SOCKET_OPTS}]} ]}, {asobi, [ {game_dir, "/app/game"}