Skip to content

Repository files navigation

My Portfolio website

Deploy to Render

Portfolio Site: Visit 👀

My application using stack:

  • PHP 8.5
  • PHP-CLI
  • SQLite3
  • PDO SQLite
  • msmtp
  • Docker (Debian-based)
  • Render

Tech Stack

PHP Extensions

  • zip - Archive handling
  • mbstring - Multibyte string functions
  • intl - Internationalization support
  • pdo - PHP Data Objects
  • pdo_sqlite - SQLite database driver
  • opcache - Performance optimization

System Dependencies (Debian-based)

  • curl
  • unzip
  • git
  • libzip-dev
  • libonig-dev
  • libicu-dev
  • sqlite3

Local development

Copy:

.env.example

to:

.env

cp .env.example .env

Then configure SMTP credentials.

Run:

docker compose up --build

Open:

http://localhost:10000

Docker

The application uses a Debian-based PHP 8.5 CLI image for better compatibility and standard library support.

Dockerfile Features

  • Base image: php:8.5-cli (Debian)
  • All PHP extensions pre-installed
  • Composer dependency management
  • Production-optimized build with --no-dev flag
  • Layer caching for faster rebuilds

Building the Docker Image

docker build -t sushilkumar .

Running the Docker Container

docker run -p 10000:10000 sushilkumar

SQLite

SQLite database: storage/database.sqlite


Render

Push the repository to GitHub.

Create a Render Web Service.

Render will detect:

render.yaml

The service uses:

  • PHP 8.5
  • CLI Server
  • SQLite
  • msmtp

The SQLite database is stored on a Render persistent disk.

Health check:

/health


SMTP

Configure:

msmtprc

SMTP_HOST=gmail
SMTP_PORT=25
SMTP_USER= your name
SMTP_PASSWORD= password
SMTP_FROM= email

Releases

Packages

Used by

Contributors

Languages