Basic resume site written with Python with Flask, Bootstrap, and a YAML config file. https://jessebot.work
Find a file
2024-05-30 10:47:31 +02:00
tiny_personal_website clean up personal routes 2024-05-30 10:34:43 +02: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 adding personal routes for later and a gunicorn config 2022-10-05 14:30:26 +02:00
Dockerfile add the ability to specify a CONFIG_FILE env var for the docker image 2024-05-30 10:47:31 +02:00
example.png docker ignoring file, adding example to readme, and removing old sample config 2022-10-06 16:05:40 +02:00
flask_start.sh remove adapter for apache since we don't use that anymore and update the flask start to be accurate, change routes to app 2022-10-05 14:38:57 +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 use poetry to manage this project, update deps, and default do not include gitlab 2024-05-30 10:31:58 +02:00
pyproject.toml use poetry to manage this project, update deps, and default do not include gitlab 2024-05-30 10:31:58 +02:00
README.md add the ability to specify a CONFIG_FILE env var for the docker image 2024-05-30 10:47:31 +02:00

Tiny Personal Website AGPL license

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.

made-with-docker made-with-python made-wth-flask made-with-bootstrap

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.

For testing locally with docker, you can do:

docker build . -t <name of tag you want>

# to test locally, you can do -p 8000:8080 to forward
# port 8080 on the container to port 8000 on your local machine
docker run --rm -p 8000:8080 <name of the tag you used>

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:

# mount the current directory to /config, and set the CONFIG_FILE env var to /config/config.yaml
# this assumes you've built or pulled jessebot/tiny-personal-website:latest locally
docker run --rm -v .:/config -e CONFIG_FILE=/config/config.yaml -p 8000:8080 jessebot/tiny-personal-website:latest

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 app:app

And the container port of note is port 8080.