commit c559bb59c62546b89e33d91571803bbe2a5a052d Author: LagoESP Date: Thu Jan 15 21:40:10 2026 +0100 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..3e28329 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# Baïkal Calendar Sync + +A Dockerized Python service that periodically synchronizes an external Outlook ICS calendar to a local Baïkal CalDAV server. + +## Features +- **Automatic Sync**: Runs periodically (default: every 5 minutes). +- **Environment Configurable**: All credentials and URLs are set via environment variables. +- **Docker Ready**: Includes `Dockerfile` and `docker-compose.yml` for easy deployment. + +## Prerequisites +- Docker & Docker Compose installed. +- A running Baïkal instance (included in the example `docker-compose.yml`). +- An Outlook ICS link. + +## Configuration (Environment Variables) + +| Variable | Description | Default | +| :--- | :--- | :--- | +| `ICS_URL` | The public ICS URL of your Outlook calendar. | **Required** | +| `BAIKAL_URL` | The URL to your Baïkal calendar (e.g., `http://baikal/dav.php/calendars/user/id/`). | **Required** | +| `BAIKAL_USER` | Your Baïkal username. | **Required** | +| `BAIKAL_PASS` | Your Baïkal password. | **Required** | +| `SYNC_FREQUENCY` | How often to sync in seconds. | `300` (5 mins) | + +## Quick Start with Docker Compose + +1. **Clone or download** this repository. +2. **Create a `.env` file** (optional but recommended) or export variables: + + ```bash + ICS_URL="https://outlook.office365.com/..." + BAIKAL_URL="http://localhost:8080/dav.php/calendars/Lago/beterna/" + BAIKAL_USER="Lago" + BAIKAL_PASS="secret" + ``` + +3. **Run with Docker Compose**: + + ```bash + docker compose up -d --build + ``` + +4. **Check Logs**: + + ```bash + docker compose logs -f baikal-sync + ``` + +## Building & Publishing the Image manually + +If you want to build and push the image to Docker Hub yourself: + +1. **Build**: + ```bash + docker build -t yourusername/baikal-sync:latest . + ``` + +2. **Push**: + ```bash + docker push yourusername/baikal-sync:latest + ```