mirror of
https://github.com/tiyn/container-critique.git
synced 2026-05-23 00:51:35 +02:00
107 lines
2.6 KiB
Markdown
107 lines
2.6 KiB
Markdown
# Container Critique
|
|
|
|

|
|
|
|
Container Critique is a blog based on Pythons Flask framework.
|
|
The blog is intended to be used to review and critique movies, books and similar media.
|
|
|
|
## Features
|
|
|
|
- [x] User Management
|
|
- [x] Registration
|
|
- [x] Login
|
|
- [x] Logout
|
|
- [x] User profile page
|
|
|
|
- [x] Blog Functionality
|
|
- [x] Create entries
|
|
- [x] Edit entries
|
|
- [x] Delete entries
|
|
- [x] Standalone article pages
|
|
- [x] Links back to main blog page
|
|
- [x] Infinite-scroll main page
|
|
- [x] Archive page
|
|
- [x] Monthly grouping
|
|
- [x] Links to main blog page
|
|
- [x] Links to standalone articles
|
|
|
|
- [x] Search
|
|
- [x] Full-text search
|
|
|
|
- [x] Syndication
|
|
- [x] RSS feed
|
|
|
|
- [x] User Interface
|
|
- [x] Responsive navigation
|
|
- [x] Header
|
|
- [x] Footer
|
|
- [x] Rich text editor
|
|
- [x] Star ratings
|
|
- [x] Styling for common HTML tags
|
|
- [x] Theme support
|
|
- [x] Dark theme
|
|
- [x] Light theme
|
|
- [x] Logo
|
|
|
|
- [x] Deployment
|
|
- [x] Basic Python
|
|
- [x] Docker
|
|
|
|
## To-Dos
|
|
|
|
- [ ] Quality of Life Improvements
|
|
- [ ] Improved UI for writing entries
|
|
- [ ] Improved UI for editing entries
|
|
- [ ] Improved UI for deleting entries
|
|
- [ ] Improved UI for login flow
|
|
|
|
## Usage
|
|
|
|
## Deployment
|
|
|
|
### uv (Recommended Over PIP)
|
|
|
|
* install [uv](https://github.com/astral-sh/uv?utm_source=chatgpt.com)
|
|
* `git clone https://github.com/tiyn/container-critique`
|
|
* `cd container-critique`
|
|
* install the dependencies with `uv sync`
|
|
* edit the `src/config.py` file according to your needs
|
|
* run `uv run python src/app.py`
|
|
* blog is available on port 5000
|
|
|
|
### PIP/Python
|
|
|
|
* `git clone https://github.com/tiyn/container-critique`
|
|
* `cd container-critique/src`
|
|
* edit the `config.py` file according to your needs
|
|
* install dependencies with `pip install -r requirements.txt`
|
|
* run `python app.py`
|
|
* blog is available on port 5000
|
|
|
|
### Docker
|
|
|
|
Make sure you copy an example `config.py` and edit it before running the container.
|
|
The `config.py` can be found in the `src` folder.
|
|
|
|
#### Volumes
|
|
|
|
Set the following volumes with the -v tag.
|
|
|
|
| Volume-Name | Container mount | Description |
|
|
| ------------- | ---------------------- | ---------------------------------- |
|
|
| `config-file` | `/blog/config.py` | Config file |
|
|
| `data` | `/blog/data` | Directory for data |
|
|
| `css` | `/blog/static/css` | (optional) Directory for css files |
|
|
|
|
#### Ports
|
|
|
|
Set the following ports with the -p tag.
|
|
|
|
| Container-Port | Recommended outside port | Protocol | Description |
|
|
| -------------- | ------------------------ | -------- | ----------- |
|
|
| `5000` | `80` | TCP | HTTP port |
|
|
|
|
#### Example run-command
|
|
|
|
An example run command is shown in `rebuild.sh`.
|