feat: add API_HOST env

This commit is contained in:
Carl-Gerhard Lindesvärd
2026-02-05 22:56:03 +00:00
parent b0d531d793
commit 40b0774ef8
2 changed files with 25 additions and 4 deletions

View File

@@ -63,6 +63,9 @@ declare module 'fastify' {
}
const port = Number.parseInt(process.env.API_PORT || '3000', 10);
const host =
process.env.API_HOST ||
(process.env.NODE_ENV === 'production' ? '0.0.0.0' : 'localhost');
const startServer = async () => {
logger.info('Starting server');
@@ -263,10 +266,7 @@ const startServer = async () => {
});
}
await fastify.listen({
host: process.env.NODE_ENV === 'production' ? '0.0.0.0' : 'localhost',
port,
});
await fastify.listen({ host, port });
try {
// Notify when keys expires

View File

@@ -744,6 +744,27 @@ Port for the API service to listen on.
API_PORT=3000
```
### API_HOST
**Type**: `string`
**Required**: No
**Default**: `0.0.0.0` (production) / `localhost` (development)
Host address for the API service to bind to. Set to `::` to enable IPv6 support (useful for platforms like Railway that use IPv6 for internal networking).
**Example**:
```bash
# Default IPv4 only
API_HOST=0.0.0.0
# IPv6 (dual-stack, accepts both IPv4 and IPv6)
API_HOST=::
```
<Callout>
Use `API_HOST=::` when deploying on platforms like Railway where private networking requires IPv6. The `::` address enables dual-stack mode, accepting both IPv4 and IPv6 connections on most systems.
</Callout>
## Logging
### LOG_LEVEL