Installing FA on my website
It has been a while. I have my app finished except for the FA part. The way that this is architected is that in my docker container I run Apache with my app, FA, Wordpress. I need to get this container running on my Ec2 instance. Do I need to install FA onto the server by itself? Or is the fact that it is running in my container mean that once the container is uploaded to the server, FA will be up there too?
Are there any directions for installing FA to a server?
You should have separate Docker containers running different parts of your system, eg. one container for Apache, one for your application and another one for FA (and possibly more containers for databases/caches etc). This way you can easily exchange single parts of the system (eg. upgrade FA) without even touching your application. In order to run all these containers together, you can use docker-compose which will be the simplest option and later on you can switch to Kubernetes or use some hosted environments for containers.
Of course, you can also just install and run FA directly on your server(s) or use FusionAuth cloud. It is up to you how to do it.
Regarding FA installation there are docker images with FA (remember that you also need a database and ElasticSearch) and there is an installation guide with a lot of information: https://fusionauth.io/docs/v1/tech/installation-guide/
Thanks. Yes, I am using docker compose. And all the parts are running in a single container. The idea is to make each container (thus each server) a "system unto itself", with its own landing page, application and FA.
Now on FA, I guess I really only need one on the main server. When users try to login to a specific server, they will go to my app running on that server. I will try to authenticate them on the FA on the main server. The way I see it, which server (and thus which FA) they use doesn't matter since they are all connected to the same mysql RDS.
Once authenticated (by the main server's FA) they will remain on their server. The problem I see is that I need to send FA the IP address of the server they will be logging into. But I don't know that IP address, since the AWS load balancer made that decision without me being involved. Any idea how to tell FA what IP to use when I don't know it? On my development machine I just use ngrok which points at localhost.
@richb201 I'm not sure I fully understand the problem but in general you should be able to have single FA instance for multiple, dynamically created instances of your application.
You'd have to notify FA about the address of each of the new instance created eg. to specify proper redirect URIs. To do it, I think you can use FA API. Regarding IP address of the load balancer, it might be better to use some custom domain names bound to the LB. You might want to use tool like terraform to provision load balancer and domains for you.
It's been a long time. Except for the FA component, my application is complete. Apache, FA and Wordpress are all running in a docker container. On my Ec2 instance, I need to get this container running. What if I don't want to install FA on the server at all? Alternatively, does the fact that it is operating in my container imply that it will also be available on the server after the container has been uploaded?
my website - ngobrol games
Given you have an up to date image of your container, you can then start a new container (based on that image) on the EC2. It should work in the same way it works on your local environment (assuming you have the proper configuration - you're exposing proper ports, mounting necessary volumes, setting environment variables if any and pointing your application to the right external services like databases).
I think that you first need to make sure you understand the difference between the docker container and the image. You need to have at least a basic understanding of how does the docker work. Your problem seems to be a lack of understanding of these things.
In my opinion, you should not have FusionAuth running in the same container as your application. You should have FA installed/deployed separately (use FA cloud, another docker container with FA only, or just install it directly on the server).