Firebase dynamic links on customdomain rewrite in hosting but how - firebase

I've setup a custom domain to use for firebase Dynamic Links. Hosting has been setup in Firebase Console and I tried to use dynamic links without the customdomain, but just a xxx.page.link.
Now I want to return to use the custom domain, but from the console I'm told that:
A configuration already exists for this site. Add the snippet below to your firebase.json file and redeploy your changes. Be sure the rewrite rule is the first match for your dynamic link.
I'm not exactly sure how to handle this. Should I use the CLI and init a project to make this change or can I somehow do this from the portal itself.
If I need to use the CLI, how do I then access the existing project and make the change?

It seems you're already using Firebase Hosting outside of just for Dynamic Links. In that case you'll need to configure it through the CLI.
The configuration for Firebase Hosting must be made through deploying the firebase.json file through the Firebase CLI. There's no way to configure this directly in the Firebase console.
You can create an empty directory, run firebase init in there, and configure it to your existing project. Once that is done, you can create and deploy the minimal firebase.json file required as shown in the documentation on setting up your custom domain.

Related

Getting firebase.json

Using the Firebase console, I created a project and two apps, connected my own domain, and set up a few dynamic links.
Everything works perfectly!
Now I need to add some redirects in the hosting section in firebase.json. I have installed the CLI for this.
The problem is, I don't know how to get the firebase.json file generated by the console in order to modify it.

How to upload website on Firebase hosting without attaching storage.rules & firestore.rules files?

Today I have uploaded my website on Firebase hosting and in the process of doing that I have to create two rules files, one is storage.rules and another one is firestore.rules. I also have to create a firestore.indexes.json file. But I can remember previously I didn't have to create any such file while uploading another website on Firebas host.
I need to get rid of these 3 files, because every time I upload my files It changed to private rules for both storage and cloud which is unnecessary for me. I need to remain them public. Besides that I can't open these 2 rules files to edit (using Mac) just at least to see what is inside of them. How can I do it, Thanks!
It sounds like you use the Firebase CLI to initialize several products in the same project, including Cloud Storage and Firestore. If you don't want to work with these other products in your project files, you shouldn't select them during initialization.
The easiest thing to do would be to start over in a new directory and initialize only the products you want to use. It sounds like that's only Firebase Hosting.
You could also edit firebase.json and remove the products you don't want to use any more.
If you do want to work with Storage and Firestore, but you only want to deploy to Hosting, then just use firebas deploy --only hosting.

FIREBASE Hosting can't use the correct site

I have the following two hostings set up in my Firebase hosting. I don't know where the first one with the bad name came from, but anyway it's there and it's always coming up when I use firebase init from the command line as the only hosting I can use. Does anyone know how i can use Firebase init to connect my website to the second hosting address, that's the lbdsapp address? Also preferably I'd like to delete the lbds-aeb3d if possible and make the other one the default.F
Any help would be really appreciated. Thanks.
The first site lbds-aeb3d is the main site created from your project ID, When you create the project you probably entered lbds which is too short for a project ID, so some random string is automatically added. So you can not delete it since it's associated with your project.
Since you have added another site, that makes your project a multisites hosting project and you will have to configure .firebaserc and firebase.json accordingly.
You can start by giving your secondary site a name to refer to when you want set it as a deploy target. You can do this by the following command
firebase target:apply hosting <target-name> <resource-name>
In your case, if you call it myapp it would be
firebase target:apply hosting myapp lbdsapp
Then firebase will generate .firebaserc that include myapp as a target
Next, you'll have to define hosting configuration for your site in firebase.json
You will have to add the target name in the hosting config. Note that if you have more sites, you will have to configure hosting as array of config objects
{
"hosting": {
"target": "myapp",
"public": ...,
// ...
}
}
When you deploy your site, you will have to specify the target
firebase deploy --only hosting:myapp

Firebase Deployed URL not working?

So I have built a simple firebase and javascript app that uses firebase database and hosting.
I have successfully built the app and deployed to Firebase hosting, however when the cmd provides the url that leads to the app it takes me to some completely random firebase landing page.
All deployment is correct and I know all my code is correct, but it keeps sending me to the random landing page: https://firebase.google.com/docs/hosting/
When you first create a project on firebase it asks you for the public directory: What do you want to use as your public directory? public
Usually the default its public, so the firebase generates a random welcome index.html there.
When you setup the firebase init configure the public directory to your files and you should see your app instead of the welcome index file, or simply put all your files inside the public directory you've chosen above.
Here I found a very simple tutorial on how to get started on that: https://www.brooks-patton.com/deploying-a-static-website-to-firebase/
Another way - you can just edit firebase.json file, in the line with "public" change the path where is your code was built.

How do I remove a hosted site from firebase

I have a hosted site on firebase which I am not using anymore. I still want to keep the project but want to remove the hosted site. Is there any way to do this or do I just need to upload an empty directory. Doesn't seem to be an option in the UI
It can be deleted.
Run firebase hosting:disable through the firebase-tools CLI first.
Go to Firebase Console and select Hosting from the menu of the left.
You will see the deployed project with a list of your historical actions like Deployed, disabled, etc.
Only after you have disabled the site, the "three vertical dots" menu will be available for you to choose the action to delete the deployment.
If you have multiple site hosted in same project, then use -s flag to specify the site you want to disable.
firebase hosting:disable -s yoursitename
You don't need to upload empty directory.
Just open your project's root directory and enter the following command
firebase hosting:disable
CLI Response :
$ firebase hosting:disable
? Are you sure you want to disable Firebase Hosting for the site xyz
This will immediately make your site inaccessible! Yes
✔ Hosting has been disabled for xyz. Deploy a new version
to re-enable.
This will instantly disable running website also adds a Disabled status in release history. Tested on firebase CLI version 9.20.0
It's a bit hidden, but here are the steps:
Go to the Firebase Hosting console for your project, you will see your domain.
Hover over your domain. There's an overflow menu (⋮ three vertical dots) on the right.
From the overflow menu select Delete Domain
[Update]
For multiple site hosted !! use command
firebase hosting:disable --project yoursitename
for me it work!! Can your try?
You can use the following command:
firebase hosting:disable -s <firebase_project_name>
replace <firebase_project_name> with the name of your firebase project. This allows you to unsubscribe from the current project and place it in disable mode and you cannot receive traffic from the published web page. When you want to re-enable it, you can do it from the visual platform. I leave an image attached so that you can be guided.
Manually
You can easily go to the console, and click on the 3 vertical dots and delete the site.
Using CLI
Disable only
Stops serving Firebase Hosting traffic for the active Firebase
project.
Your project's Hosting URL will display a "Site Not Found" message
after running this command.
If you want to disable, as the other answers are saying use this command:
firebase hosting:disable
If you're using multi-sites, you have to specify the project name:
firebase hosting:disable --project yoursitename
Delete forever
Deletes the specified Hosting site.
Deleting a site is a permanent action. If you delete a site, Firebase doesn't maintain records of deployed files or deployment history, and the site cannot be reactivated by you or anyone else.
(Optional) Skip the confirmation prompt by passing the following flags: -f or --force
To delete this site (similar to when you go to the console > delete manually) run this command:
firebase hosting:sites:delete yoursitename -f
Be careful when using the -f, but if you're running this as a script command, it might be required.
I spent too much time on this and hopefully this can be helpful. I did deploy my stuff using firebase deploy however I was not able to see in on the firebase console. When I tried firebase hosting:disable I got this Error: HTTP Error: 400, Invalid project ID specified.
The steps below helped me delete my project.
To find the project, you have to get the output of firebase
deploy which will have a console url that looks like this:
Project Console:
https://console.firebase.google.com/project/<your-project-id>/overview.
Follow this link and go to project settings. You should be able to
delete your project in there.
I had to spend several hours removing the default website on Firebase hosting.
The way that I found was :
Enter "firebase init database" in Terminal. It initialize all websites including the default one so that you can set up a new one.
I hope it helps you.
As of now there is no proper way to bulk delete all the previous deployments in a project.
However the best thing you can do is to empty the firebase hosting folder and then deploy it using firebase deploy
This option has been given as a feature request to firebase. Lets hope its get implemented soon :)
1.Sign in to Firebase, then open your project.
2.Click the Settings icon near project Overview button, then select Project settings.
3.In the Your apps card, select the app that you want to delete.
4.Find the Delete Project button from bottom of the page , click Delete Project.
5.Check the points , then click Remove app permanently.

Resources