04-03-2021, 06:04 AM
I am working on a project on a Blood Donation Diary app. After completing the project I needed to deploy my project to see its behaviour in the live environment. I have limited free option. Here I am sharing how I managed to deploy to vercel with MySQL database support. Vercel is a pass provider. You can deploy non-commercial projects for free here with up to 100GB bandwidth and no storage.
To start you need the following things-
1 . Git account
1.a. How to add the remote repo to a local dev environment
2. Vercel Account
3. Remote enabled MySQL database access.
Here I am demonstrating how to make work with the laravel app.
Create a laravel app using composer
Make Updates to or customise to it.
create these files in your root directory
Create this file
Please note there is a dot file.
Now add these codes to their files
api/index.php
.vercelignore
[font=Monaco, Consolas, Courier, monospace]vercel.json[/font]
Note: you can get all kind of info on the supported framework using this vercel PHP here
https://github.com/juicyfx/vercel-php
Now create and push to your git. (I am assuming you know how to do that. Google if you can't.)
Now you need to create a project into vercel and add a GitHub account with vercel.
Now add GitHub repository to your project here
Now with every push, your site will auto-deploy.
Now you need to add apps environment variables
From your command line inside the local dev app run
This will create a key,(and display) for your app and add these lines as env in vercel
You can add your MySQL details here or just hardcoded to the app, I have found env not so reliable. So I have to hard code it. Please note hard coding to GitHub repo is not recommended and it is exposed. you can do that inside your config/database.php file.
Replace ** with their values.
You have to migrate your MySQL database ahead of time because vercel does not provide a terminal.
So here is how I did use vercel to check on my development in a production environment.
I am using vercel for 2 days now. I will update as I learn more.
Have you used this tutorial to get a free hosted website for yourself? please share. I will update with another free PostgreSQL service.
To start you need the following things-
1 . Git account
1.a. How to add the remote repo to a local dev environment
2. Vercel Account
3. Remote enabled MySQL database access.
Here I am demonstrating how to make work with the laravel app.
Create a laravel app using composer
Code: (Select All)
composer create-project laravel/laravel laravelapp
Make Updates to or customise to it.
create these files in your root directory
Create this file
Code: (Select All)
api/index.php
.vercelignore
vercel.json
Please note there is a dot file.
Now add these codes to their files
api/index.php
PHP Code: (Select All)
<?php
// Forward Vercel requests to normal index.php
require __DIR__ . '/../public/index.php';
.vercelignore
PHP Code: (Select All)
/vendor
[font=Monaco, Consolas, Courier, monospace]vercel.json[/font]
PHP Code: (Select All)
{
"version": 2,
"functions": {
"api/index.php": { "runtime": "[email protected]" }
},
"routes": [{
"src": "/(.*)",
"dest": "/api/index.php"
}],
"env": {
"APP_ENV": "production",
"APP_DEBUG": "true",
"APP_URL": "https://yourproductionurl.com",
"APP_CONFIG_CACHE": "/tmp/config.php",
"APP_EVENTS_CACHE": "/tmp/events.php",
"APP_PACKAGES_CACHE": "/tmp/packages.php",
"APP_ROUTES_CACHE": "/tmp/routes.php",
"APP_SERVICES_CACHE": "/tmp/services.php",
"VIEW_COMPILED_PATH": "/tmp",
"CACHE_DRIVER": "array",
"LOG_CHANNEL": "stderr",
"SESSION_DRIVER": "cookie"
}
}
Note: you can get all kind of info on the supported framework using this vercel PHP here
https://github.com/juicyfx/vercel-php
Now create and push to your git. (I am assuming you know how to do that. Google if you can't.)
Now you need to create a project into vercel and add a GitHub account with vercel.
Now add GitHub repository to your project here
Code: (Select All)
project > settings > git > Connected Git Repository
Now with every push, your site will auto-deploy.
Now you need to add apps environment variables
Code: (Select All)
project > settings > git > Environment Variables
From your command line inside the local dev app run
Code: (Select All)
php artisan key:generate --show
This will create a key,(and display) for your app and add these lines as env in vercel
Code: (Select All)
APP_KEY = *****
You can add your MySQL details here or just hardcoded to the app, I have found env not so reliable. So I have to hard code it. Please note hard coding to GitHub repo is not recommended and it is exposed. you can do that inside your config/database.php file.
Code: (Select All)
DB_CONNECTION=mysql
DB_HOST=**
DB_PORT=3306
DB_DATABASE=****
DB_USERNAME=**
DB_PASSWORD=**
Replace ** with their values.
You have to migrate your MySQL database ahead of time because vercel does not provide a terminal.
So here is how I did use vercel to check on my development in a production environment.
I am using vercel for 2 days now. I will update as I learn more.
Have you used this tutorial to get a free hosted website for yourself? please share. I will update with another free PostgreSQL service.