Skip to content

Run open-web-calendar (web view for ics) based on Alpine Linux. Small, lightweight, secure and fast 🏔️

License

Notifications You must be signed in to change notification settings

11notes/docker-ics-view

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alpine :: ics-view

Run open-web-calendar (web view for ics) based on Alpine Linux. Small, lightweight, secure and fast 🏔️

Calendar View

Volumes

  • /ics/etc - Directory of json configuration files for different views

Run

docker run --name ics-view \
  -v .../etc:/ics/etc \
  -d 11notes/ics-view:[tag]

Defaults

Parameter Value Description
user docker user docker
uid 1000 user id 1000
gid 1000 group id 1000

Environment

Parameter Value Default
ICS_IP localhost or 127.0.0.1 or a dedicated IP 0.0.0.0
ICS_PORT any port > 1024 5000
ICS_MAX_PER_VIEW How many calendars (*.ics feeds) are allowed to be loaded at once 5
ICS_WORKERS How many workers should be started to handle requests 4
ICS_CACHE_LIFETIME How long *.ics feed are cached between requests in seconds 60
ICS_VIEW_DHTMLX_ENABLE_PLUGINS Enabled DHTMLX plugins "agenda_view multisource quick_info tooltip readonly"
ICS_VIEW_DHTMLX_DISABLE_PLUGINS Disabled DHTMLX plugins ""
ICS_DEBUG Enable debug mode false

Configuration

You can place different configuration json files in /ics/etc and use the directly via URL (you do not need to add .json, just the file name)

http://localhost:5000/?calendar=demo // will use demo.json in /ics/etc
http://localhost:5000/?calendar=https://domain.com/foo/demo.json

DHTMLX Plugins

You can find a list of all available plugins here. To use additional plugins simply add them to the desired environment variable. The example will add the plugin all_timed and year_view and remove the plugin recurring from being used.

docker run --name ics-view \
  -v .../etc:/ics/etc \
  -e ICS_VIEW_DHTMLX_ENABLE_PLUGINS="agenda_view multisource quick_info tooltip readonly all_timed year_view" \
  -e ICS_VIEW_DHTMLX_DISABLE_PLUGINS="recurring" \
  -d 11notes/ics-view:[tag]

CSS tricks

If you add ?calendarID=NAME at the end of the URL of your *.ics calendar you can use this NAME in a css selector to colour each *.ics calendar differently

[event_id^="christian"],
[event_id^="christian"] div {background-color:#FF0000 !important; color:#FFFFFF !important;}

Parent

Built with

Tips

  • Don't bind to ports < 1024 (requires root), use NAT/reverse proxy
  • Permanent Stroage - Module to store permanent container data via NFS/CIFS and more

About

Run open-web-calendar (web view for ics) based on Alpine Linux. Small, lightweight, secure and fast 🏔️

Resources

License

Stars

Watchers

Forks

Packages

No packages published