First, just a guess. Are you trying to run your Rails app in development mode? That’s not recommended.
Your IPv6 address may change over time if your app is moved to another host. That is something that is done from time to time. But you really shouldn’t have an issue with blocked hosts.
If you are willing to experiment, create a second application. You can delete it when done:
rails new demo --minimal
cd demo
echo 'Rails.application.routes.draw { root "rails/welcome#index" }' >> config/routes.rb
fly launch
Press enter when you see:
? Do you want to tweak these settings before proceeding? (y/N)
Unless you are running Ruby 3.3.3, things should just work. If you are running 3.3.3, add the following:
bin/rails generate dockerfile --force
fly deploy
If you check your logs, you may see a line like the following before puma starts, but it is benign:
2024-06-27T01:26:22Z health[90801679a10038] iad [warn]Health check on port 3000 is in a 'warning' state. Your app may not be responding properly.
Once puma starts, you should see:
2024-06-27T01:26:29Z health[90801679a10038] iad [info]Health check on port 3000 is now passing.
If you reproduce these steps, the question to be resolved is what is the difference in the configuration of these two applications?