1.9 KiB
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... fine. It's not terrrible.
Here's the guide I used for digital ocean: https://docs.digitalocean.com/tutorials/app-deploy-flask-app/
You want the following command plugged into where-ever this runs:
gunicorn --worker-tmp-dir /dev/shm app:app
Coming Soon
better docker file
Under the Hood
- Bootstrap v5
- Flask
- The Open Source Community <3
Old 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. the webroot absolute path, your photo, quote, etc) by renaming
config/config.yaml.sample
toconfig.yaml
and replacing all the sample data with your own real data. -
The website assumes you're running on a Linux server with apache. I use the mod_wsgi apache module to deliver this content.
- In
config/example_apache_vhost.conf
I have an example apache virutal host config. I recommend creating a special user and group for this website to run as. - There is also a mandatory
config/wsgi.conf
you'll need to put in your apache config. You may also need to modify permissions for the socket file if you are running CentOS/RHEL, which will live in/var/run/http
.
- All changes to HTML, CSS, JS, Python, or your core YAML will require an apache restart - with this specific configuration for the web server portion.