Skip to content

The setup for my personal website and an insight of the reasoning to why it is the way it is.

Notifications You must be signed in to change notification settings

FaisalAl-Rayes/Personal-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

You can connect with me through LinkedIn using the link the following link: LinkedIn

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact
  6. Acknowledgments

About The Project

website-preview

This is a project to share my approach to building my own website using many different technologies that can be seen in the Built With section. I have used HTML5UP for the HTML templates and some images from Unsplash. The motivation behind this project is to illustrate some experience working with the technologies involved in building this project as well as managing it.

(back to top)

Built With

  • Python
  • Django
  • Docker
  • Kubernetes
  • Gunicorn
  • PostgreSQL
  • Prometheus
  • Grafana
  • Nginx

(back to top)

Getting Started

Here are the sequential steps to up and running!

Prerequisites

  • Ensure that you have docker installed on your machine. To install docker please follow the instructions of installation in Docker's Official Website respectively.

  • Ensure that docker and docker compose work by getting a response that looks like this

    ~$ docker --version
    Docker version XX.XX.XX ...
    ~$ docker compose version
    Docker Compose version vX.XX.X ...

Installation

  1. Clone the repository

    git clone https://github.com/FaisalAl-Rayes/Personal-Website.git
  2. Remove the suffix of ".example" from all files that have it. For instance

    ".env.example" file should be renamed to ".env"
    "db_password.secret.example" file should be renamed to "db_password.secret"
  3. Enter your desired values to these former "*.example" files for example in web_project/web/.env (Should be done to all the *.example files)

    "DATABASE_NAME=YOUR_DB_NAME" ---> "DATABASE_NAME=somename"

    NOTE: If you want to run it with the dummy values in the *.example files then just step 2 should be enough.

(back to top)

Usage

In this section you can see how to check how to use some additions to the website such as prometheus and grafana.

Prometheus

  • Go to http://localhost:9090/targets?search= and you should see the following prometheus-targets

Grafana

  1. Go to http://localhost:3000 and you should see the following grafana-login

  2. Login with username admin and password admin (yes the username and password are the same)

    Email or username: admin
    Password: admin
  3. You will be prompted to change the password so do so

    New password: YOUR_PASSWORD
    Confirm new password: YOUR_PASSWORD
  4. Now you should be in the welcome panel grafana-welcome-page

  5. Click on DATA SOURCES and the select Prometheus

  6. Set Prometheus server URL to http://prometheus:9090 then scroll down and click on Save & test

  7. Click on the Import dashboard shown below grafana-datasources

  8. Enter 17658 in the Import via grafana.com section to get the django prometheus dashboard then click on the Load button as shown below grafana-import-dashboard

  9. Select Prometheus (default) in the Select a Prometheus data source dropdown menu and then click on Import and you will see the dashboard displayed as seen below grafana-django-prometheus-dashboard

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Connect with me on

LinkedIn

(back to top)

Acknowledgments

(back to top)

About

The setup for my personal website and an insight of the reasoning to why it is the way it is.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published