Skip to main content

Squid service operations

platform v0.9.11verified 2026-05-14

The Squid service is an HTTP / HTTPS proxy for every private-network instance that has no public IP. It is the first service to deploy: SigNoz, Database, Voice, API, and Ops all route outbound traffic through Squid for ECR image pulls, provider API calls (OpenAI, Vonage), SMTP relay, GitHub access, and AWS APIs not behind VPC endpoints. TelPro and Web have public IPs and do not use the proxy.

Containers

ContainerImagePortPurpose
voiceai-squidubuntu/squid:latest3128HTTP / HTTPS proxy
voiceai-otel-collectorotel/opentelemetry-collector-contrib:0.150.1Telemetry collector (ingests Squid access logs)
Squid is pinned to :latest

The Squid container is the only image in the stack pinned to :latest rather than a fixed tag. Behaviour can change on update.sh (which always pulls). If you need byte-for-byte reproducibility, pin to a specific Ubuntu Squid digest in .infrastructure/services/squid/docker-compose.yaml and roll the change through update.sh --config-ref.

The Squid container has no environment variables of its own — everything is configured via squid.conf.

squid.conf highlights

http_port 3128
acl localnet src 10.0.1.0/24
http_access allow localnet
http_access deny all
cache deny all
access_log stdio:/dev/stdout squid

Defaults:

  • ACL: allows 10.0.1.0/24.
  • Ports: 80 (HTTP), 443 (HTTPS), 22 (SSH / GitHub), 587 (SMTP).
  • CONNECT: HTTPS, SSH, SMTP.
  • Cache: 100 MB on-disk for Docker images and packages.

To add more networks:

acl privatenet src 192.168.1.0/24
http_access allow privatenet

To restrict domains:

acl allowed_domains dstdomain .example.com
http_access deny !allowed_domains

See also

  • Ops operations — Scaler and Tasker rely on Squid for provider APIs and SMTP.
  • SigNoz operations — uses a transparent proxy (redsocks + iptables) backed by Squid.
  • Voice operations — TelPhi reaches OpenAI / Pythia / Vodafone TOBi through Squid.