https://github.com/tbedau/photolog
A minimal personal photolog.
https://github.com/tbedau/photolog
fastapi htmx personal-website photoblog photography
Last synced: about 1 month ago
JSON representation
A minimal personal photolog.
- Host: GitHub
- URL: https://github.com/tbedau/photolog
- Owner: tbedau
- Created: 2024-11-10T21:51:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-11-24T19:53:14.000Z (5 months ago)
- Last Synced: 2025-01-23T13:33:57.439Z (3 months ago)
- Topics: fastapi, htmx, personal-website, photoblog, photography
- Language: Python
- Homepage: https://photolog.tillmannbedau.de
- Size: 947 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Photolog
Photolog is a minimalist, responsive web application for sharing and viewing a personal collection of images. The original idea behind the app was to upload one image per day, functioning as a kind of visual diary, but this behavior is configurable. The app allows authenticated users to upload photos, while others can browse an infinite scroll of your curated gallery.
I am running an instance of Photolog at [https://photolog.tillmannbedau.de](https://photolog.tillmannbedau.de), where I share one photo per day from my analog archives and occasionally also upload recent images.
## Setup and Installation
1. **Clone the Repository:**
```sh
git clone [email protected]:tbedau/photolog.git
cd photolog
```2. **Create a .env File:** In the root directory, create a `.env` file and set your secret key:
``` sh
SECRET_KEY=your-secret-key
```3. **Create a User:** Make sure you have [uv installed](https://docs.astral.sh/uv/getting-started/installation/). Then run the following command to create an initial user. You will be prompted to set a password:
```sh
uv run cli.py create-user
```4. **Run the Development Server:** Start the application locally:
```sh
uv run fastapi dev
```5. **Start Uploading Photos:** Visit [http://127.0.0.1:8000/upload](http://127.0.0.1:8000/upload) to log in and start uploading photos.
6. **Configure the Application:** Customize the app behavior (e.g., upload limits, max dimensions) by editing app/config.py to fit your needs. Also edit HTML templates in the `templates/`folder to customize page headers and so on.
7. **Deploy the app:** The `Dockerfile` and `docker-compose.yml` can serve as a reference for containerized deployment.