Installing freezr
It takes just a couple of minutes to set up and run your personal server on this cloud-based prototype 'alpha' version.
You can also install freezr yourself in just a few minutes on various cloud services such as Heroku, Google Could, AWS, glitch, or just on your own PC or mac laptop.
Detailed instructions for some platforms:
(Note: Some of these need to be updated based on changes in the platforms, software or freezr.)
Install freezr on your own computer or a development server
Download node and follow the instructions to install it, mostly pressing "Next" on all screens.
Download freezr and and extract it to a directory.
Open a command window (windows) or terminal (mac) and navigate to your "program folder".
Type "npm install" enter. node will install dependent packages, and then type "node server" and press enter.
Your freezr is now accessible as localhost:3000.
Choose a user name and password, and the system default for the file server, and "use files as database" for the database.
Launch freezr, skip through the preferences page (if you like) and then go to your 'app management' page to install apps.
You can also use google or dropbox as your file system to test it out.
If you want to use Mongo as a database, you can either use atlas using the instructions below, or download mongodb and follow the instructions to install it. You can use the free "community version".
You may need to open command window (windows) or terminal (mac) and navigate to the "bin" in the mongodb program folder. Then type: "./mongod --dbpath C:\freezr\userMongoFiles" + enter (or the equivalent path on mac.
If you run Windows, you may need to run "./mongo" before the command above, or if you have downloaded mongo to the default directory, you can enter "C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe" from any command window, followed by "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe -dbpath c:\freezr\userMongoFiles" (assuming you had already created the userMongoFiles folder)
If you run linux, you should be able to figure out the equivalent commands yourself. ;)
If you have mongo running before you launch freezr, freezr will check and offer it as a choice in your set up page
Use glitch.com to create you freezr server in just a few seconds.
Go to https://glitch.com/edit/#!/freezr-server which is an instance of ther freezr server on glitch
Click on the logo on "Remix" to create your own instance.
Your freezr Server is Created!!
Press "Preview" and then "Preview in a New Window".
You will see your main freezr set up page, enter a user name and password. This is what you use to log onto your freezr. Do not lose your password because there is no way to recover it!
That's it! You have a freezr server
A couple of notes:
You should press sign in to create an account on glitch too, and be able to access your server code.
If you choose to use a third party file system (eg aws, dropbox), note that your secret credentials will still be kept on the glitch instance.
All your personal data (including credentials) is kept in the .data directory, which you cant see on the online interface, but you can see all the data if you download the project.
Install freezr on Heroku, with Dropbox as your file system, and using mongo Atlas as a database
Set up your server on Heroku
Go to Heroku and login or create an account
Click here to create an "app"
Choose an app name (and change your region if you like) and click on "Deploy App"
Wait a minute or so as the app deploys.
Feel free to look at the console at the bottom of the page to see the deployment progress, or just open a new browser window and skip to the step below to set up a mongo database.
That's it for the server! You have it running at https://[your freezr app name].heroku.com
... Now you need a database and a file system, but don't close the Heroku web-page as you will need it later
Set up a database with mongo Atlas
Go to mongodb.com and create an account by pressing "Start Free" or "Sign In" with an existing account.
Under Context, press ss "New Project" and give your project a name. Press Next and then "Create Project"
Press "Build a Cluster".
Choose AWS (or google or Azure), and a region, making sure it has a "free tier available" - press "Create Cluster".
Take a deep breath, happy not to care ewhat a "cluster" is, and wait a few minutes.
Press Connect
In the pop-up, under "(1) Whitelist your connection", press "add a different IP address. Under IP Address, type "0.0.0.0". (This is not the safest soltion but okay for sandbox apop purposes.)
Press "Add IP Adress"
Under "(2)"" Create a Mongo User", create a user name and password and press "Create User"
Press "Choose a connection method", and then "Connect Your Application". Make sure "Node.js" is chsoen under "driver"
Under connection string, press copy to copy it, and also remember the user name and password you created.
Enter Database credentials in Heroku
Go to your dashboard, by pressing "Manage App" in the last Heroku page above (or go to: https://dashboard.heroku.com/apps/[your freezr app name])
Press the "Settings" menu.
Press "Reveal Config Vars". here you will need to add the database credentials you obtained above.
Add Key: "MONGO_STR", with the value being the string from Mongo Atlas above that looks like this: mongodb+srv://:@cluster0-wsdduy.mongodb.net/test?retryWrites=true&w=majority
Replace "" and "" in the string with the user name and password you created above under Mongo. and press "Add"
A couple of notes:
For more advanced users who already have an app token on dropbox they want to use, you can also enter "dropbox" for the variable FREEZR_FS and your token for FS_TOKEN. If you do this, you can skip the step below for dropbox
An easier, but less stable way of setting up the app is to go to your freezr server url (eg https://yourappname.heroku.com), and enter your database credentials. This gets you going quickly to play around with freezr, but Heroku can't keep your credentials. There, you will see the main freezr set up page of your app. This is your freezr server.
Connect to dropbox to launch your freezr server
Go to your app page by pressing on the "Open Apps" button on top of the Settings page, or by going to https://[your freezr app name].heroku.com or make sure to refresh the page.
On your app page, you should see the freezr set up page saying "Welcome to freezr Initial Set Up Page."
Under database credentials, you should also see the database user name and host name you had enterred earlier. If you don't see this or if you see an error message, please check to make sure you enterred credentials correctly above.
Press the "External File System" button below your credentials
Choose dropbox and press authenticate with dropbox. (See below for more details)
You will be asked to sign in to dropbox (or create an account) and then authorize the app by clicking "allow"
Your browser should take you back to your main freezr set up page, enter another (!) user name and password. This is what you use to log onto your freezr. Do not lose your password because there is no way to recover it!
Congratulations (hopefully) !! Your freezr is set up!
Some other notes and explanations
One last thing - In dropbox, under the freezr app, you will see a file appear called freezr_environment.js (which also has your database credentials and your access token in it - so do not let any one see this!)
You can access the server logs in Heroku as well.
Pricing The free version of Heroku and mlabs have various restrictions and are really created for hobby-type activities only. You can learn more about that here and here.
Dropbox Authentication: As a developer you can also create your own app in dropbox and generate an access token. To use the dropbox freezr app, your credentials need to be validated. So salmanff.com acts as that verifier. But you don't need to rely on a centralised verification system. And any freezr server can become an authenticator and authenticate other apps. That is part of the decentralised philosophy on freezr.
Dropbox File system: What is cool about using dropbox as a file system is that all your apps and files are all stored on your dropbox. You can even change the app source code on dropbox.
Install freezr on Google Cloud.
Instructions coming soon.