nobody
How to get the server ip address?
Hi!
In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir?
Searched the docs for ip address and the web, no good results.
Thanks!
Trending in Questions
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
Using Phoenix.LiveView.TagEngine as an EEx.Engine is deprecated!
To compile HEEx, use Phoenix.LiveView.TagEngine.compile/2 instead.
Sta...
New
Hello !
We want new/edit form pages to POST/PUT to their own URL rather than the resources REST defaults (post /things, put /things/:id)...
New
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app?
Looking for hints regarding:
Addi...
New
Hi all, I wanted to ask how the community is dealing with post-release steps.
Today we have Ecto migrations, which make sure that the db...
New
I am using Oban and occasionally, shortly after a deployment, a handful of jobs can fail because of dependency on other parts of the syst...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #elixirconf-us
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex











First 10 of 16 Posts!
StefanHoutzager
Maybe you can use System.cmd (and ifconfig in linux)?
http://elixir-lang.org/docs/stable/elixir/System.html
nobody
hmm, there must be a native method for that?
sysashi
Elixir does not have builtin web server. If you are using Phoenix, you can try
MyApp.Endpoint.urlfunction. Otherwise check documentation of a webserver.nobody
sysashi, thank you for that information, however I was asking for how to get the current ip address of the server and do not see how your answer is connected to that?
btw what is running when I do mix phoenix.server or run a release?
StefanHoutzager
If it’s not there and you find it should you could try to write it yourself (good exercise!
and add it to the language. It’s opensource.
Linuus
Try to call the erlang function
:inet.getif()NobbZ
If you want to have your app to know about a specific IP, then hardcode it or set it as a config.
It may be possible that you end up in an environment that has multiple interfaces and as such multiple IPs, even worse if your apps server listens on at least two of them. Which IP do you want to know in this setting?
dom
Something like this should do the trick
I think
getifis not documented, so technically it could disappear eventually.getifaddrsmay be a more future-proof option. Note in practice this will return multiple IPs since you’ll have at least a loopback and an external IP.You’ll find more options if you google something like “erlang get ip”, whatever works in Erlang will also work in Elixir.
sysashi
so
PHP: $SERVER['SERVERADDR']in OP’s example will return an IP address of a underlying WEB server,:inet.getif()will return interfaces on a machine where hypothetically you run you WEB server. Not sure if we all talking about the same stuffnobody
My question is of course related to the exact situation you describe and I would like to see to which IP address phoenix binds automatically and why this happens.
Of course the goal is to have some control over this and I would like to tell phoenix to bind to a specific ip address, do you know how to do that, seems like this is not explicitely documented anywhere. Please see my other question about that from today, thanks!
Last Post!
blackham
A way to make a good guess at your server IP. (It might not be your public IP if you have NAT). Sadly I couldn’t find a way for erlang to return a list of the network routes, so I had to fall back to a System.cmd call. The idea is find the default gateway for the server, see what dev (interface) it us using, then find the IP addr of that device.
I promise there are better ways to do this that will work with ipv6, not rely on a System.cmd (like read /proc), handle multiple IPs assigned to the same device, etc.. but its’ quick and dirty and works for me.: