bajar memoria de tailscaled

This commit is contained in:
2025-10-06 16:27:01 -03:00
parent 145d045bab
commit a3ba08c2e9
3 changed files with 16 additions and 0 deletions

View File

@@ -17,6 +17,14 @@ The solution uses a multi-stage Docker build:
- **Stage 2 (tailscale)**: Downloads and extracts Tailscale binaries
- **Stage 3 (production)**: Final Alpine image with nginx, Tailscale, and GoAccess
### Memory Optimization
Configured for 256MB Fly.io containers:
- **Go GC settings**: `GOGC=10` and `GOMEMLIMIT=100MiB` for aggressive Tailscale memory management
- **GoAccess**: Static HTML generation (60-second intervals) instead of real-time WebSocket
- **Nginx**: Reduced connection timeouts and buffer sizes
- **Package optimization**: Minimal Alpine packages only
### Key Components
- **nginx.conf**: Main configuration with rate limiting zones, server blocks for each subdomain, and GoAccess metrics endpoint

View File

@@ -21,6 +21,10 @@ COPY --from=builder /app/start.sh /app/start.sh
COPY --from=tailscale /app/tailscaled /app/tailscaled
COPY --from=tailscale /app/tailscale /app/tailscale
RUN mkdir -p /var/run/tailscale /var/cache/tailscale /var/lib/tailscale /usr/share/nginx/html
# Set aggressive Go GC settings for Tailscale to reduce memory usage
ENV GOGC=10
ENV GOMEMLIMIT=100MiB
COPY nginx.conf /etc/nginx/http.d/nginx.conf
COPY custom_50x.html /usr/share/nginx/html/
COPY goaccess.sh /app/goaccess.sh

View File

@@ -1,5 +1,9 @@
#!/bin/sh
# Set aggressive GC settings for Tailscale to reduce memory usage
export GOGC=10
export GOMEMLIMIT=100MiB
/app/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/var/run/tailscale/tailscaled.sock &
/app/tailscale up --authkey=${TAILSCALE_AUTHKEY} --hostname=reverseproxy