https://github.com/mgnsk/calendar
A simple web-based event calendar system with iCalendar and RSS feeds.
https://github.com/mgnsk/calendar
echo fts5 gomponents htmx htmx-go ical rss snowflake sqlite
Last synced: 4 months ago
JSON representation
A simple web-based event calendar system with iCalendar and RSS feeds.
- Host: GitHub
- URL: https://github.com/mgnsk/calendar
- Owner: mgnsk
- Created: 2025-01-28T15:59:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-19T20:27:10.000Z (over 1 year ago)
- Last Synced: 2025-02-19T21:26:59.170Z (over 1 year ago)
- Topics: echo, fts5, gomponents, htmx, htmx-go, ical, rss, snowflake, sqlite
- Language: Go
- Homepage:
- Size: 201 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Simple calendar app
### Local development
Dependencies:
- [Go](https://go.dev/)
- [Node.js](https://nodejs.org/en)
Add the following to your `/etc/hosts` to access the calendar by domain name.
```
127.0.0.1 calendar.testing
```
Generate the root CA and certificate:
```
cd certs
./gen.sh
```
During development, we use self-signed certificates. In production we use automatic TLS from Let's Encrypt.
Import Calendar CA certificate at `certs/ca.crt` into your browser to avoid self-signed certificate warnings.
Setup tools and run the development environment:
- `$ make setup`
- `$ make dev`
Your browser should automatically open at `https://calendar.testing:8443`.
### Docker Compose deployment
The Docker image is published at https://github.com/mgnsk/calendar/pkgs/container/calendar
Describes an easy deployment pattern I personally use elsewhere.
Choose whichever system you're familiar with.
You need a Docker installation with the [Compose plugin](https://docs.docker.com/compose/install/linux/).
Copy `docker-compose.yml` to `/etc/docker/compose/calendar/`.
Configure the environment variables.
Copy `docker-compose@.service` to `/etc/systemd/system/`.
Enable the service: `$ systemctl enable --now docker-compose@calendar`.
To update the service:
- `$ cd /etc/docker/compose/calendar`
- `$ docker compose pull`
- `$ systemctl restart docker-compose@calendar`
TODO: automatic update