This is a simple Go application that does iCalendar files (.ics) analyzes and sends notifications by ntfy based on the events in these iCalendar files.
Before you begin, ensure you have the following installed:
-
Clone the repository:
git clone https://code.brothertec.eu/simono41/go-ical-ntfy-reminder.git
-
Create an environment variables file:
Create a file named
.env
in your project directory. Fill this file with the required environment variables:TO_EMAIL=[email protected] (optional) NTFY_AUTH=echo "Basic $(echo -n 'testuser:fakepassword' | base64)" NTFY_HOST=https://ntfy.sh/alerts LOCATION=Europe/Berlin (default) ICS_DIR=/path/to/ics/files
Customize the values according to your application.
-
Build and run the Docker container:
docker compose up -d --build
This command uses Docker Compose to build and run the container, loading environment variables from the
.env
file. -
Access your application:
Open your web browser and go to http://localhost:8080.
- If your application uses additional environment variables, add them to the
.env
file. - Customize the Dockerfile or docker-compose.yml if needed.
To run your application as a daily cronjob at 6 AM, add the following cronjob entry:
0 6 * * * docker compose -f /opt/containers/mail-reminder/docker-compose.yml up --build --exit-code-from go-app
This cronjob will execute the Docker Compose command daily at 6 AM.
If you'd like to contribute, please fork the repository and create a pull request. Feel free to open an issue if you encounter any problems or have suggestions.
This project is licensed under the MIT License - see the LICENSE file for details.