Initial commit: homelab dashboard

Elixir + Phoenix dashboard displaying public and internal homelab
services. Internal services are shown only when the request originates
from the local network, detected server-side via conn.remote_ip with
Traefik trusted as a proxy (RemoteIp plug).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
adyrem
2026-05-18 16:02:29 +02:00
commit f92c2247a0
47 changed files with 3874 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import Config
# We don't run a server during test. If one is required,
# you can enable the server option below.
config :homelab_dashboard, HomelabDashboardWeb.Endpoint,
http: [ip: {127, 0, 0, 1}, port: 4002],
secret_key_base: "dgNleu3OI57NPbIu8pVupCP0nHUaVI+gBEacBicWs9ucRF0ElvXBz8RW4KAUT9C4",
server: false
# In test we don't send emails
config :homelab_dashboard, HomelabDashboard.Mailer, adapter: Swoosh.Adapters.Test
# Disable swoosh api client as it is only required for production adapters
config :swoosh, :api_client, false
# Print only warnings and errors during test
config :logger, level: :warning
# Initialize plugs at runtime for faster test compilation
config :phoenix, :plug_init_mode, :runtime
# Enable helpful, but potentially expensive runtime checks
config :phoenix_live_view,
enable_expensive_runtime_checks: true
# Sort query params output of verified routes for robust url comparisons
config :phoenix,
sort_verified_routes_query_params: true