config | ||
scripts | ||
static | ||
templates | ||
.dockerignore | ||
.gitignore | ||
app.py | ||
Dockerfile | ||
flask_start.sh | ||
gunicorn_config.py | ||
README.md | ||
requirements.txt |
tiny_personal_website
THIS IS BACK FROM THE DEAD :D
This is a Python based CMS for a small personal website. The back end uses the bottle web framework and the front end is bootstrap. YAML is used for site specific configurations. Tested with Python 3.10.7 only.
I originally wrote this 7 or 8 years ago, and recently absolutely borked my newer website, resulting in me quickly resurrecting this thing in about a day. It's... oke 🤷
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
Coming Soon
better docker file
Under the Hood
- Bootstrap v5
- Flask
- The Open Source Community <3
Setup
-
Clone this github repo into your desired webroot.
-
Install missing libraries if any:
pip3.10 install -r requirements.txt
-
You can configure everything (e.g. website title, your photo, quote, etc) by renaming
config/config.yaml.sample
toconfig.yaml
and replacing all the sample data with your own real data. -
All changes to HTML, CSS, and Python, or your core YAML will require a restart of gunicorn or a rebuild of the docker container.
-
for docker, you can just do:
docker build . -t <name of tag you want>` # if you want to test it locally, you can do this docker run --rm -p 8000:8080 <name of the tag you used>
Then you can go to http://127.0.0.1:8080 in a browser to view your changes.
For testing locally, without a docker rebuild:
gunicorn app:app
Then you can go to http://127.0.0.1:8000 in a browser to view your changes.
Notes
I found this guide
on vertically centering items and it helped a lot. Basically both the body and
base container you have need to be h-100 and vh-100 and for extra security,
add min-height: 100vh;
to the CSS for the body