Network Proxy | TrueNAS - Wyatt's Notes
Using Nginx Proxy Manager
Section titled “Using Nginx Proxy Manager”Perquisite
Section titled “Perquisite”- Obtain a DDNS domain (cloudflare, duckDNS, etc)
- Dockge or portainer (prefered to install with custom docker compose as the app image from catalog cause the Nginx Proxy Manager SSL certificate request to malfunction)
- ISP port 443 and 80 being opened
- Docker compose file, similar to the following:
services: app: image: jc21/nginx-proxy-manager:2.12.6 container_name: nginx-proxy-manager restart: unless-stopped ports: - 80:80 # Standard HTTP port - 443:443 # Standard HTTPS port - 83:81 # Admin interface, external port occupied environment: - DB_MYSQL_HOST=db - DB_MYSQL_PORT=3306 - DB_MYSQL_USER=${DB_USER} - DB_MYSQL_PASSWORD=${DB_PASSWORD} - DB_MYSQL_NAME=${DB_NAME} - DISABLE_IPV6=true # Disable if unnecessary depends_on: db: condition: service_healthy networks: - proxy-network volumes: - config:/app/config - data:/data - letsencrypt:/etc/letsencrypt logging: driver: json-file options: max-size: 10m max-file: "3' db: image: mariadb:10.11.7 container_name: nginx-proxy-manager-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASSWORD} - MYSQL_INITDB_SKIP_TZINFO=1 healthcheck: test: - CMD-SHELL - mysqladmin ping -u root -p$${MYSQL_ROOT_PASSWORD} interval: 5s timeout: 10s retries: 12 start_period: 30s networks: - proxy-network volumes: - db_data:/var/lib/mysql logging: driver: json-file options: max-size: 10m max-file: '3'volumes: config: driver: local driver_opts: type: none o: bind device: /mnt/your_path/config data: driver: local driver_opts: type: none o: bind device: /mnt/your_path/data letsencrypt: driver: local driver_opts: type: none o: bind device: /mnt/your_path/letsencrypt db_data: driver: local driver_opts: type: none o: bind device: /mnt/your_path/dbnetworks: proxy-network: name: npm-network driver: bridgeCommon Pitfalls
Section titled “Common Pitfalls”Not practising with past papers or exercises under timed conditions.
Not making connections between different topics within the subject to build a coherent understanding.
Ignoring feedback from marked work and failing to address recurring weaknesses.
Focusing only on content knowledge without developing exam technique and question-answering skills.
flowchart TD A[Network Proxy] --> B[Key Concepts] A --> C[Core Principles] A --> D[Practical Applications] B --> E[Fundamental definitions] C --> F[Design patterns] D --> G[Real-world usage]Summary
Section titled “Summary”The key principles covered in this topic are linked in the sub-pages above. Focus on understanding the definitions, applying the formulas or frameworks, and evaluating strengths and limitations of each approach.
Intuition
Section titled “Intuition”A network proxy is the middleman between your server and the outside world. Reverse proxies sit in front of your services, routing incoming requests to the right internal server, like a receptionist who directs visitors to the correct office. They add a layer of security by hiding internal server details and can handle SSL termination, load balancing, and caching. Without a proxy, every service would need its own public port, like a building where every office has its own front door on the street.
Worked Examples
Section titled “Worked Examples”Worked examples demonstrating the application of key concepts are covered in the detailed sub-pages linked above.
Cross-References
Section titled “Cross-References”- Home Server Setup — Network proxy configuration is part of the initial server setup for internet-facing services.
- Apps and Services — Reverse proxy services like Traefik route external traffic to internal applications.
- Monitoring and Alerting — Proxy access logs can be monitored for security and performance insights.