Cara Deploy Laravel Docker di VPS

Berikut adalah cara untuk deploy aplikasi laravel Anda menggunakan Docker.

1. Login SSH ke Server

Pastikan Docker sudah running dengan mengetikan perintah berikut: 
sudo systemctl status docker

status docker running

Jika belum install bisa menginstall docker dengan panduan berikut Pengenalan dan Cara Install Docker

2. Clone aplikasi projek Anda ke server

Clone project Anda yang ada di public repository ke server dengan perintah berikut
git clone url-repo

Jika Anda ingin mencobanya bisa menggunakan project berikut
https://github.com/bagusgandhi/ppaw.git

setelah selesai clone, selanjutnya masuk ke direktori project
cd nama-project

3. Buat file docker-compose.yml

Selanjutnya kita akan membuat service web server, database, dan aplikasi.
jalankan perintah berikut untuk membuat file docker-compose.yml

nano docker-compose.yml

lalu masukan script berikut:

4. Buat konfigurasi Nginx

Selanjutnya buat file konfigurasi Nginx.
Ketikan perintah berikut untuk membuat direktori tempat file config
mkdir -p docker-compose/nginx

Buat file config nginx
nano docker-compose/nginx/nama-proyek-web.conf

Salin isi file config berikut

5. Buat file Dockerfile

Dockerfile ini digunakan untuk build aplikasi menjadi sebuah image
buat file Dockerfile dengan perintah berikut:
nano Dockerfile

lalu masukan script berikut

6. Copy file .env.example lalu buat file .env

Lakukan perintah berikut untuk copy file .env.example menjadi .env
cp .env.example .env

Lalu lakukan beberapa konfigurasi di .env Anda.
 

7. Buat container untuk menjalankan aplikasi

Ketikan perintah berikut untuk build aplikasi menjadi image
docker-compose build app

Selanjutnya lakukan docker-compose untuk menjalankan image menjadi container 
docker-compose up -d

Pada container aplikasi yang kita jalankan belum terdapat composer, sehingga Anda perlu exec container aplikasi untuk install composer
docker-compose exec app composer install

Ketikan perintah berikut untuk generate key aplikasi laravel
docker-compose exec app php artisan key:generate

Ketikan perintah berikut untuk generate key aplikasi laravel
docker-compose exec app php artisan migrate

Ketikan perintah berikut untuk melakukan seeding data ke database apabila anda memiliki seed
docker-compose exec app php artisan db:seed

 

Kesimpulan

Menggunakan Docker untuk menjalankan aplikasi dapat meringankan melakukan setup awal setiap melakukan deployment aplikasi. 

Dengan docker kita bisa juga deploy aplikasi lain dengan stack berbeda, ini tentunya akan lebih praktis.