diff --git a/charts/auth/templates/lighthouse-config.yaml b/charts/auth/templates/lighthouse-config.yaml
index 1b33be2..f4444e0 100644
--- a/charts/auth/templates/lighthouse-config.yaml
+++ b/charts/auth/templates/lighthouse-config.yaml
@@ -4,4 +4,250 @@
   name: {{ .Values.ui.nebula.lighthouse.name }}
   namespace: {{ .Release.Namespace }}
 data:
-{{ (.Files.Glob "lighthouse.yaml").AsConfig | replace "<INTERNAL_IP>" .Values.ui.nebula.lighthouse.internalIP | replace "<EXTERNAL_IP>" .Values.ui.nebula.lighthouse.externalIP | replace "<PORT>" .Values.ui.nebula.lighthouse.port | indent 2 }}
+  lighthouse.yaml: |
+    # This is the nebula example configuration file. You must edit, at a minimum, the static_host_map, lighthouse, and firewall sections
+    # Some options in this file are HUPable, including the pki section. (A HUP will reload credentials from disk without affecting existing tunnels)
+
+    # PKI defines the location of credentials for this node. Each of these can also be inlined by using the yaml ": |" syntax.
+    pki:
+      # The CAs that are accepted by this node. Must contain one or more certificates created by 'nebula-cert ca'
+      ##ca: /etc/nebula/ca/ca.crt
+      ca: /etc/nebula/lighthouse/ca.crt
+      cert: /etc/nebula/lighthouse/host.crt
+      key: /etc/nebula/lighthouse/host.key
+      #blocklist is a list of certificate fingerprints that we will refuse to talk to
+      #blocklist:
+      #  - c99d4e650533b92061b09918e838a5a0a6aaee21eed1d12fd937682865936c72
+
+    # The static host map defines a set of hosts with fixed IP addresses on the internet (or any network).
+    # A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel.
+    # The syntax is:
+    #   "{nebula ip}": ["{routable ip/dns name}:{routable port}"]
+    # Example, if your lighthouse has the nebula IP of 192.168.100.1 and has the real ip address of 100.64.22.11 and runs on port 4243:
+    static_host_map:
+      "{{ .Values.ui.nebula.lighthouse.internalIP }}": ["{{ .Values.ui.nebula.lighthouse.externalIP }}>:{{ .Values.ui.nebula.lighthouse.port }}>"]
+
+
+    lighthouse:
+      # am_lighthouse is used to enable lighthouse functionality for a node. This should ONLY be true on nodes
+      # you have configured to be lighthouses in your network
+      am_lighthouse: false
+      # serve_dns optionally starts a dns listener that responds to various queries and can even be
+      # delegated to for resolution
+      #serve_dns: false
+      #dns:
+        # The DNS host defines the IP to bind the dns listener to. This also allows binding to the nebula node IP.
+        #host: 0.0.0.0
+        #port: 53
+      # interval is the number of seconds between updates from this node to a lighthouse.
+      # during updates, a node sends information about its current IP addresses to each node.
+      interval: 60
+      # hosts is a list of lighthouse hosts this node should report to and query from
+      # IMPORTANT: THIS SHOULD BE EMPTY ON LIGHTHOUSE NODES
+      # IMPORTANT2: THIS SHOULD BE LIGHTHOUSES' NEBULA IPs, NOT LIGHTHOUSES' REAL ROUTABLE IPs
+      hosts:
+        - {{ .Values.ui.nebula.lighthouse.internalIP }}
+
+      # remote_allow_list allows you to control ip ranges that this node will
+      # consider when handshaking to another node. By default, any remote IPs are
+      # allowed. You can provide CIDRs here with `true` to allow and `false` to
+      # deny. The most specific CIDR rule applies to each remote. If all rules are
+      # "allow", the default will be "deny", and vice-versa. If both "allow" and
+      # "deny" rules are present, then you MUST set a rule for "0.0.0.0/0" as the
+      # default.
+      #remote_allow_list:
+        # Example to block IPs from this subnet from being used for remote IPs.
+        #"172.16.0.0/12": false
+
+        # A more complicated example, allow public IPs but only private IPs from a specific subnet
+        #"0.0.0.0/0": true
+        #"10.0.0.0/8": false
+        #"10.42.42.0/24": true
+
+      # local_allow_list allows you to filter which local IP addresses we advertise
+      # to the lighthouses. This uses the same logic as `remote_allow_list`, but
+      # additionally, you can specify an `interfaces` map of regular expressions
+      # to match against interface names. The regexp must match the entire name.
+      # All interface rules must be either true or false (and the default will be
+      # the inverse). CIDR rules are matched after interface name rules.
+      # Default is all local IP addresses.
+      #local_allow_list:
+        # Example to block tun0 and all docker interfaces.
+        #interfaces:
+          #tun0: false
+          #'docker.*': false
+        # Example to only advertise this subnet to the lighthouse.
+        #"10.0.0.0/8": true
+
+    # Port Nebula will be listening on. The default here is 4243. For a lighthouse node, the port should be defined,
+    # however using port 0 will dynamically assign a port and is recommended for roaming nodes.
+    listen:
+      # To listen on both any ipv4 and ipv6 use "[::]"
+      host: "[::]"
+      port: 4243
+      # Sets the max number of packets to pull from the kernel for each syscall (under systems that support recvmmsg)
+      # default is 64, does not support reload
+      #batch: 64
+      # Configure socket buffers for the udp side (outside), leave unset to use the system defaults. Values will be doubled by the kernel
+      # Default is net.core.rmem_default and net.core.wmem_default (/proc/sys/net/core/rmem_default and /proc/sys/net/core/rmem_default)
+      # Maximum is limited by memory in the system, SO_RCVBUFFORCE and SO_SNDBUFFORCE is used to avoid having to raise the system wide
+      # max, net.core.rmem_max and net.core.wmem_max
+      #read_buffer: 10485760
+      #write_buffer: 10485760
+
+    # EXPERIMENTAL: This option is currently only supported on linux and may
+    # change in future minor releases.
+    #
+    # Routines is the number of thread pairs to run that consume from the tun and UDP queues.
+    # Currently, this defaults to 1 which means we have 1 tun queue reader and 1
+    # UDP queue reader. Setting this above one will set IFF_MULTI_QUEUE on the tun
+    # device and SO_REUSEPORT on the UDP socket to allow multiple queues.
+    #routines: 1
+
+    punchy:
+      # Continues to punch inbound/outbound at a regular interval to avoid expiration of firewall nat mappings
+      punch: true
+
+      # respond means that a node you are trying to reach will connect back out to you if your hole punching fails
+      # this is extremely useful if one node is behind a difficult nat, such as a symmetric NAT
+      # Default is false
+      #respond: true
+
+      # delays a punch response for misbehaving NATs, default is 1 second, respond must be true to take effect
+      #delay: 1s
+
+    # Cipher allows you to choose between the available ciphers for your network. Options are chachapoly or aes
+    # IMPORTANT: this value must be identical on ALL NODES/LIGHTHOUSES. We do not/will not support use of different ciphers simultaneously!
+    cipher: chachapoly
+
+    # Local range is used to define a hint about the local network range, which speeds up discovering the fastest
+    # path to a network adjacent nebula node.
+    #local_range: "172.16.0.0/24"
+
+    # sshd can expose informational and administrative functions via ssh this is a
+    #sshd:
+      # Toggles the feature
+      #enabled: true
+      # Host and port to listen on, port 22 is not allowed for your safety
+      #listen: 127.0.0.1:2222
+      # A file containing the ssh host private key to use
+      # A decent way to generate one: ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N "" < /dev/null
+      #host_key: ./ssh_host_ed25519_key
+      # A file containing a list of authorized public keys
+      #authorized_users:
+        #- user: steeeeve
+          # keys can be an array of strings or single string
+          #keys:
+            #- "ssh public key string"
+
+    # Configure the private interface. Note: addr is baked into the nebula certificate
+    tun:
+      # When tun is disabled, a lighthouse can be started without a local tun interface (and therefore without root)
+      disabled: false
+      # Name of the device
+      dev: nebula1
+      # Toggles forwarding of local broadcast packets, the address of which depends on the ip/mask encoded in pki.cert
+      drop_local_broadcast: false
+      # Toggles forwarding of multicast packets
+      drop_multicast: false
+      # Sets the transmit queue length, if you notice lots of transmit drops on the tun it may help to raise this number. Default is 500
+      tx_queue: 500
+      # Default MTU for every packet, safe setting is (and the default) 1300 for internet based traffic
+      mtu: 1300
+      # Route based MTU overrides, you have known vpn ip paths that can support larger MTUs you can increase/decrease them here
+      routes:
+        #- mtu: 8800
+        #  route: 10.0.0.0/16
+      # Unsafe routes allows you to route traffic over nebula to non-nebula nodes
+      # Unsafe routes should be avoided unless you have hosts/services that cannot run nebula
+      # NOTE: The nebula certificate of the "via" node *MUST* have the "route" defined as a subnet in its certificate
+      unsafe_routes:
+        #- route: 172.16.1.0/24
+        #  via: 192.168.100.99
+        #  mtu: 1300 #mtu will default to tun mtu if this option is not sepcified
+
+
+    # TODO
+    # Configure logging level
+    logging:
+      # panic, fatal, error, warning, info, or debug. Default is info
+      level: info
+      # json or text formats currently available. Default is text
+      format: text
+      # Disable timestamp logging. useful when output is redirected to logging system that already adds timestamps. Default is false
+      #disable_timestamp: true
+      # timestamp format is specified in Go time format, see:
+      #     https://golang.org/pkg/time/#pkg-constants
+      # default when `format: json`: "2006-01-02T15:04:05Z07:00" (RFC3339)
+      # default when `format: text`:
+      #     when TTY attached: seconds since beginning of execution
+      #     otherwise: "2006-01-02T15:04:05Z07:00" (RFC3339)
+      # As an example, to log as RFC3339 with millisecond precision, set to:
+      #timestamp_format: "2006-01-02T15:04:05.000Z07:00"
+
+    #stats:
+      #type: graphite
+      #prefix: nebula
+      #protocol: tcp
+      #host: 127.0.0.1:9999
+      #interval: 10s
+
+      #type: prometheus
+      #listen: 127.0.0.1:8080
+      #path: /metrics
+      #namespace: prometheusns
+      #subsystem: nebula
+      #interval: 10s
+
+      # enables counter metrics for meta packets
+      #   e.g.: `messages.tx.handshake`
+      # NOTE: `message.{tx,rx}.recv_error` is always emitted
+      #message_metrics: false
+
+      # enables detailed counter metrics for lighthouse packets
+      #   e.g.: `lighthouse.rx.HostQuery`
+      #lighthouse_metrics: false
+
+    # Handshake Manager Settings
+    #handshakes:
+      # Handshakes are sent to all known addresses at each interval with a linear backoff,
+      # Wait try_interval after the 1st attempt, 2 * try_interval after the 2nd, etc, until the handshake is older than timeout
+      # A 100ms interval with the default 10 retries will give a handshake 5.5 seconds to resolve before timing out
+      #try_interval: 100ms
+      #retries: 20
+      # trigger_buffer is the size of the buffer channel for quickly sending handshakes
+      # after receiving the response for lighthouse queries
+      #trigger_buffer: 64
+
+
+    # Nebula security group configuration
+    firewall:
+      conntrack:
+        tcp_timeout: 12m
+        udp_timeout: 3m
+        default_timeout: 10m
+        max_connections: 100000
+
+      # The firewall is default deny. There is no way to write a deny rule.
+      # Rules are comprised of a protocol, port, and one or more of host, group, or CIDR
+      # Logical evaluation is roughly: port AND proto AND (ca_sha OR ca_name) AND (host OR group OR groups OR cidr)
+      # - port: Takes `0` or `any` as any, a single number `80`, a range `200-901`, or `fragment` to match second and further fragments of fragmented packets (since there is no port available).
+      #   code: same as port but makes more sense when talking about ICMP, TODO: this is not currently implemented in a way that works, use `any`
+      #   proto: `any`, `tcp`, `udp`, or `icmp`
+      #   host: `any` or a literal hostname, ie `test-host`
+      #   group: `any` or a literal group name, ie `default-group`
+      #   groups: Same as group but accepts a list of values. Multiple values are AND'd together and a certificate would have to contain all groups to pass
+      #   cidr: a CIDR, `0.0.0.0/0` is any.
+      #   ca_name: An issuing CA name
+      #   ca_sha: An issuing CA shasum
+
+      outbound:
+        # Allow all outbound traffic from this node
+        - port: any
+          proto: any
+          host: any
+
+      inbound:
+        - port: any
+          proto: any
+          host: any
