Skip to main content

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.

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.

Attribution

Made with OpenWeb Icons Set and Nerd Fonts.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tiny_personal_website-2.0.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tiny_personal_website-2.0.0-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file tiny_personal_website-2.0.0.tar.gz.

File metadata

  • Download URL: tiny_personal_website-2.0.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/7.0.13+deb14-asahi

File hashes

Hashes for tiny_personal_website-2.0.0.tar.gz
Algorithm Hash digest
SHA256 63601c0692edb40a132ad32733006176170bff4004a54eb6fc3ff8f735755686
MD5 9ffa1b3d7a4f00f03a55735a2d768e20
BLAKE2b-256 e394542345b5d1ddb13ab66ad5a236fb86b4627173df6cb1ffdeb86211c81e07

See more details on using hashes here.

File details

Details for the file tiny_personal_website-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: tiny_personal_website-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.14 Linux/7.0.13+deb14-asahi

File hashes

Hashes for tiny_personal_website-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa7b184cfbb34082b4bf7f9d32bd575aa62303c7d02f6f828d398100039beca6
MD5 31406462bec822424111805ce328ca76
BLAKE2b-256 7aa7d19b848a4f7f3ee3de3abe063b54f71f32ea7f7c0f9835b43e264a1284ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page