My personal website. https://jessebot.work
  • CSS 67%
  • HTML 20.6%
  • Python 8%
  • Dockerfile 2.6%
  • Shell 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
JesseBot 57d9424aea
Some checks failed
Renovate / run-renovate (push) Failing after 1s
Renovate / renovate (push) Failing after 0s
removed scripts check as that's not in this repo
2026-09-29 14:24:24 +02:00
.forgejo removed scripts check as that's not in this repo 2026-09-29 14:24:24 +02:00
renovate_scripts clean up the bump project version script 2026-08-20 13:22:27 +02:00
tiny_personal_website Update the latest resume link and update deps (#12) 2026-09-29 12:01:21 +00:00
.dockerignore use poetry to manage this project, update deps, and default do not include gitlab 2024-05-30 10:31:58 +02:00
.gitignore update gitignore 2026-08-18 22:14:57 +02:00
Dockerfile clean up the example.png and the Dockerfile to actually work 2026-08-18 20:26:42 +02:00
example.png fix example image size 2026-08-18 21:36:10 +02:00
flask_start.sh fix flash_start.sh and clean up fork me on github link 2026-08-18 00:06:03 +02:00
LICENSE use poetry to manage this project, update deps, and default do not include gitlab 2024-05-30 10:31:58 +02:00
poetry.lock Update the latest resume link and update deps (#12) 2026-09-29 12:01:21 +00:00
pyproject.toml Update the latest resume link and update deps (#12) 2026-09-29 12:01:21 +00:00
README.md inform people of the new helm chart location :) 2026-08-19 19:36:05 +02:00
renovate.json add helm chart 2026-08-18 19:15:40 +02:00

Tiny Personal Website

AGPL license docker-pulls python-version made-wth-flask made-with-bootstrap

This is a small Python based personal website aimed first and foremost at being a resume. I originally wrote this a decade or so ago, and recently absolutely borked my react website, resulting in me quickly resurrecting this thing in about a day and a half. It was actually pretty fun though, so I've continued to add little features. This one does the same thing, but better, and faster, with less js. Feel free to fork this and make it your own, but keep it open source. This repo is hosted at git.open.engineering:jessebot/tiny_personal_website and mirrored to codeberg:jessebot/tiny-personal-website. Please make Issues and PRs on codeberg.org.

screenshot of jessebot.work which serves as an example website. It features a picture of Jesse a person with blue hair that is 31. There is a blurb about them that you can read in tiny_personal_website/config/config.yaml and link icons to github, gitlab, and linkedin.

Getting Started

Clone this github repo into your desired webroot, and install dependencies with poetry:

poetry install

You can configure everything (e.g. website title, your photo, quote, etc) by editing tiny_personal_website/config/config.yaml and replacing all the Jesse data with your own.

Testing Locally

# get into a poetry shell
poetry shell

# run gunicorn
gunicorn tiny_personal_website:app

Then you can go to http://127.0.0.1:8000 in a browser to view your changes.

Docker

For testing locally with docker, you can do:

# this tag can be anything, but this is typically what I do locally
docker build . -t jessebot/tiny-personal-website:dev

# to test locally, you can do -p 8000:8000 to forward
# port 8000 on the container to port 8000 on your local machine
docker run --rm -p 8000:8000 jessebot/tiny-personal-website:dev

Then you can go to http://127.0.0.1:8000 in a browser to view your changes.

You can now use an environment variable to set the location of the config.yaml to use. Here's an example if you have your config file in your current directory:

# this assumes you've built or pulled jessebot/tiny-personal-website:latest locally
docker run --rm -v ./tiny_personal_website/config:/app/tiny_personal_website/config  -p 8000:8000 jessebot/tiny-personal-website:dev

Deploying on an app platform

You want the following command plugged into where-ever this runs (e.g. digital ocean app platform):

gunicorn --worker-tmp-dir /dev/shm tiny_personal_website:app

And the container port of note is port 8000.

Deploy on Kubernetes

I've written a little helm chart over at git.open.engineering:jessebot/tiny-personal-website-helm-chart which is also mirrored to codeberg:jessebot/tiny-personal-website-helm-chart. where you can also deploy this on Kuberentes. Check out those repos for further instructions 💙

Attribution

Made with OpenWeb Icons Set and Nerd Fonts.