mirror of
https://github.com/hazemKrimi/personal-website.git
synced 2026-05-01 18:00:26 +00:00
52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
# My Personal Website
|
|
|
|
This repo contains the source code for [my personal website](https://hazemkrimi.tech/) made using Hugo.
|
|
|
|
## Requirements
|
|
|
|
You only need to install [Hugo](https://gohugo.io/installation/) to be able to run the website locally, develop, build and deploy it.
|
|
|
|
## Development
|
|
|
|
1. Clone the repo:
|
|
|
|
```
|
|
git clone https://github.com/hazemKrimi/personal-website
|
|
cd personal-website
|
|
```
|
|
|
|
2. To run the webserver that reloads on saved changes you can use the following command:
|
|
|
|
```
|
|
hugo server
|
|
```
|
|
|
|
## Deployment
|
|
|
|
I am using `nginx` with `certbot` as a seemless webserver with an SSL certificate to get HTTPS. Here is how I setup the deployment assuming you already have `nginx` and `certbot` installed:
|
|
|
|
1. Create a file to to be the webserver config under `/etc/nginx/sites-available` with its content being what is in `deploy/nginx.conf` of the repo. (You will need to use your own domain)
|
|
|
|
2. Symlink the config into `/etc/nginx/sites-enabled`:
|
|
|
|
```
|
|
sudo ln -s /etc/nginx/sites-available/<webserver-config> /etc/nginx/sites-enabled/<webserver-config>
|
|
```
|
|
|
|
3. Restart `nginx` and its service if you're using `systemd`:
|
|
|
|
```
|
|
sudo nginx -t
|
|
sudo systemctl restart nginx
|
|
```
|
|
|
|
4. Run `certbot` to get an SSL certificate for your domain:
|
|
|
|
```
|
|
sudo certbot --nginx
|
|
```
|
|
|
|
5. If you forked this repo you can use the actions workflow that I am using but you will need to add an SSH private key as an action secret. You will find this setting under repo settings > security > secrets and variables > actions. You will add your key as `DEPLOY_SSH_KEY` in repository secrets.
|
|
|
|
6. If you are not using GitHub Actions or not deploying on a VPS you can refer to the [Hugo Deployment Guides](https://gohugo.io/host-and-deploy/).
|