/portfolio-website-docker-compose

Host Portfolio Website using docker compose

Primary LanguageShellGNU Affero General Public License v3.0AGPL-3.0

Portfolio Website

Status

Website Status Docker Compose Build CI

Introduction

This repository contains the code to host a personal portfolio website using docker compose.

Architecture

Architecture

Prerequisites

  1. Server with git, docker and docker-compose installed and configured.
  2. Domain DNS record connected to the target server.

Installation Steps

  1. Clone the repository under bin/portfolio_webserver.

    git clone https://github.com/sashuu69/portfolio_site.git bin/portfolio_webserver
  2. Create an SSL certificate using the command

    sudo certbot certonly --standalone -d <Host URL> -d www.<Host URL>
  3. Copy the SSL certificates under config/ssl and update docker-compose.yaml to connect the SSL certificates.

  4. Build using the command docker compose build or docker-compose build.

  5. Bring up the containers using the command ./scripts/deploy.sh <domain-name>.

  6. (Optional) Bring down the containers using the command ./scripts/destroy.sh <domain-name>.

Technologies Used

  1. Portfolio Webserver - Python Alpine
  2. Reverse Proxy - Nginx
  3. Docker compose is used to create a multi-container application

For information about the Flask webpage, please refer to the link sashu69/portfolio_website.

Contributors

  1. Sashwat K sashwat0001@gmail.com

Other Info

If you face any bugs or want to request a new feature, please create an issue under the repository and provide appropriate labels respectively. If you want to do these by yourself, feel free to raise a PR and I will do what is necessary.

If you want to support me, donations will be helpful.

Other Repo(s)

  1. sashuu69/portfolio-website - The portfolio website flask app
  2. sashuu69/portfolio-website-infrastructure - The terraform and ansible code to bring portfolio website on AWS
  3. sashuu69/portfolio-website-ssl-cert-generator - The terraform code to generate/renew SSL certificates