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. 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.

Metadata

Release files for tiny_personal_website 2.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiny_personal_website 2.1.2
File Size Uploaded
tiny_personal_website-2.1.2.tar.gz 2.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tiny_personal_website 2.1.2
File Interpreter ABI Platform
tiny_personal_website-2.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 5.8 MB

Release files / tiny_personal_website-2.1.2.tar.gz

Download URL tiny_personal_website-2.1.2.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
f4dd62d5e7578df64809b61cf80b304602dfaeab3fa68bd721b4cfc71a523d2c
BLAKE2b-256 checksum
How to use checksums
776d52b370697be9c339ecea441ac97288ba7ba744c3c6b6a1737e094aaabccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-53-amd64

Release files / tiny_personal_website-2.1.2-py3-none-any.whl

Download URL tiny_personal_website-2.1.2-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0d34e8a409893554a42175e66cd00343002f153681d4ff47bc62dae53109bcf8
BLAKE2b-256 checksum
How to use checksums
307d42227391a209ecf0f5df3d7dc99f629bc5d181280a8434fce9f49af36c30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.11.2 Linux/6.1.0-53-amd64

Release history Release notifications | RSS feed

This release

2.1.2 This release

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page