Einen schönen Guten Morgen. Ich habe mir gestern mal über Docker den Baikal-Container von ckulka installiert. Jetzt habe ich allerdings das Problem, dass ich nicht weiß, wo und wie ich das Homeasssistant-Fix einbauen kann, damit ich den Kalender auch für Automatisierungen nutzen kann. Es wäre schön, wenn man mir einfach verständlich helfen könnte, da ich auf dem Gebiet Portainer kein Profi bin.
Hi.
Was meinst du mit einbauen? Das ist einer fertiger Docker, da kann man nix einbauen.
Hast du denn Baikal in HA integriert?
Ich habe bei mir im Home-Assistant Portainer laufen. Und in dem Portainer ist der Container Baikal. Der auch funktioniert, da ich vom Handy auf meinen Kalender zugreifen kann.
Also hast du Baikal nicht in HA integriert.
Wie soll denn jetzt HA wissen, dass bei dir Baikal vorhanden ist?
Du musst HA noch mit Baikal verbinden: https://www.home-assistant.io/integrations/caldav/
Ja genau das, dachte du hast das noch nicht gemacht, weil du dazu nix geschrieben hattest.
Sieht aber auf den ersten Blick gut aus, habe es auch so:
# Configuration for Baikal
calendar:
- platform: caldav
username: !secret baikal_username
password: !secret baikal_password
url: !secret baikal_url
Edit:
Ach JETZT glaube ich, verstehe ich, was du willst. Meinst du das evtl? Bin gerade durch Zufall darauf gestoßen: https://github.com/ckulka/baikal-docker/blob/master/docs/home-assistant-fix.md
Falls ja, musst du in deinem Docker noch die Variable setzen, wie dort beschrieben:
Set the environment variable APPLY_HOME_ASSISTANT_FIX to true to enable the fix.
Ich nutze diesen Docker: https://github.com/MrAlucardDante/baikal-docker-hass
Da ist das schon seit über ein Jahr direkt eingebaut, da ckulka das die ganze Zeit nicht hinbekommen hatte.
Genau, den ersten Link von dir meinte ich.
Aber wo setze ich die Variable? Da mein Englisch nicht so gut ist und ich mit Portainer noch ein Anfänger bin. Das ist erst mein dritter Container.
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Das hättest du ja gleich mit angeben können, da hätte ich mir die Such ersparen können!
Ja dann musst du wie da beschrieben die Variable im Baikal Docker setzen oder den von mir genutzten Docker verwenden.
Edit:
Zeige mal die Config des Baikal Dockers
Kann ich den Container einfach austauschen? Oder sind dann meine schon erstellten Kalender weg?
Wie komme ich an die Config?
Meinst du das?
"AppArmorProfile": "docker-default",
"Args": [
"apache2-foreground"
],
"Config": {
"AttachStderr": false,
"AttachStdin": false,
"AttachStdout": false,
"Cmd": [
"apache2-foreground"
],
"Domainname": "kalender.do4ske.de",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
"PHP_INI_DIR=/usr/local/etc/php",
"APACHE_CONFDIR=/etc/apache2",
"APACHE_ENVVARS=/etc/apache2/envvars",
"PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
"PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
"PHP_LDFLAGS=-Wl,-O1 -pie",
"GPG_KEYS=528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD",
"PHP_VERSION=8.1.32",
"PHP_URL=https://www.php.net/distributions/php-8.1.32.tar.xz",
"PHP_ASC_URL=https://www.php.net/distributions/php-8.1.32.tar.xz.asc",
"PHP_SHA256=c582ac682a280bbc69bc2186c21eb7e3313cc73099be61a6bc1d2cd337cbf383"
],
"ExposedPorts": {
"443/tcp": {},
"80/tcp": {}
},
"Hostname": "7ed837f838b2",
"Image": "ckulka/baikal:latest",
"Labels": {
"org.opencontainers.image.created": "",
"org.opencontainers.image.description": "Ready-to-go Baikal server",
"org.opencontainers.image.documentation": "https://github.com/ckulka/baikal-docker",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "f88549de0bb8532f5828c3b4cbbfdf77f59f2f60",
"org.opencontainers.image.source": "https://github.com/ckulka/baikal-docker",
"org.opencontainers.image.title": "Baikal",
"org.opencontainers.image.url": "https://hub.docker.com/r/ckulka/baikal",
"org.opencontainers.image.version": "0.10.1"
},
"MacAddress": "02:aa:54:2a:60:64",
"OnBuild": null,
"OpenStdin": false,
"StdinOnce": false,
"StopSignal": "SIGWINCH",
"Tty": false,
"User": "",
"Volumes": {
"/var/www/baikal/Specific": {},
"/var/www/baikal/config": {}
},
"WorkingDir": "/var/www/html"
},
"Created": "2025-04-26T21:18:30.478976448Z",
"Driver": "overlay2",
"ExecIDs": null,
"GraphDriver": {
"Data": {
"ID": "93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa",
"LowerDir": "/mnt/data/docker/overlay2/660905afa7bbd5566cd5a22a1f2948e54d089deaf9b81680b64fc959ca735b3a-init/diff:/mnt/data/docker/overlay2/e605a5b345c74a0414348648cafd545c788186ec602401d22fcf35997c02d8c9/diff:/mnt/data/docker/overlay2/d145b4b4267fe34a9347450bcb8037531c6fa5897a1c19eedcd058f191b9ce33/diff:/mnt/data/docker/overlay2/9354d7ab62416e61354f809938b33c6ea9c20afa19a05dfa256bfc3c75ff6ed9/diff:/mnt/data/docker/overlay2/e575678d80564a1bf128d27ce533788c95d043a489e61aef36bdf0a16ac949ff/diff:/mnt/data/docker/overlay2/871e1c2636ddeaee08c38c396a1fcb3dd5209f16629eb1406c214f7f18889feb/diff:/mnt/data/docker/overlay2/8d617dbeb2c779a2cf490c0f6ca12ba5839cef40e245c401e173c24235e372d6/diff:/mnt/data/docker/overlay2/e9e487e48bbf94657d1d78f47f8392d9af9c5fc974fabf20ca8f3320b92f617d/diff:/mnt/data/docker/overlay2/aefd686ec00005acc1ece12520ed097f0d498335df57097b7125df1adc96a123/diff:/mnt/data/docker/overlay2/d195636b6a572490d9d642dee0d4a142b0b28e617cc77d7a14abf582486c262d/diff:/mnt/data/docker/overlay2/e32e1e2333c28f7d4def45156c9924b3e2a1dab3bee8408d8181cf6b167e0b9a/diff:/mnt/data/docker/overlay2/5a62244a341cd347d3bb8d670acbfb1a55daa432ed98b3f329658291e76548b4/diff:/mnt/data/docker/overlay2/f154446f79cb0a5f9a5da54945743d07597fc6b3efb9d5807ace67d36f365b72/diff:/mnt/data/docker/overlay2/872851125bfb6c9b5ba403ad52eaed2a15917a13ca3d7703c73bce11decdab4d/diff:/mnt/data/docker/overlay2/4e80638161436f5935583acab03bf5b28f7aa4add665cb88f14a6d64e46fb22d/diff:/mnt/data/docker/overlay2/e3936e1cbdf516a423ac18a427881cba808199f26163fa26dec3512a82fbb09f/diff:/mnt/data/docker/overlay2/9efa0c70af502ef5cbb56fd81b8b674901ee908ec078ea9ddae8cf0062836a01/diff:/mnt/data/docker/overlay2/7ade824cf39d2bccf8ab885f52bc728e4895e53e299c322fb2ac3c6d9b769001/diff:/mnt/data/docker/overlay2/1cc40fdb78572841f3d8122cc3f3b4ad66216cd58199ed48b2ebaabf9212fe4a/diff:/mnt/data/docker/overlay2/5d50cc04a06f89d85289dd02f5cfbf3a458a9e47349847415bffedec413da178/diff:/mnt/data/docker/overlay2/22dadd0a1a9a11affe20104036beda478132a1febbf38b68fca5624859150080/diff:/mnt/data/docker/overlay2/dc08b990473344ccd1c8093b3c8bddc26a635e67943e4ccc9b08ba92bff919d0/diff",
"MergedDir": "/mnt/data/docker/overlay2/660905afa7bbd5566cd5a22a1f2948e54d089deaf9b81680b64fc959ca735b3a/merged",
"UpperDir": "/mnt/data/docker/overlay2/660905afa7bbd5566cd5a22a1f2948e54d089deaf9b81680b64fc959ca735b3a/diff",
"WorkDir": "/mnt/data/docker/overlay2/660905afa7bbd5566cd5a22a1f2948e54d089deaf9b81680b64fc959ca735b3a/work"
},
"Name": "overlay2"
},
"HostConfig": {
"AutoRemove": false,
"Binds": [
"daa0d8915646b7f7453dfc6f818dab677243f92732c945f29206b20bd5608dbe:/var/www/baikal/Specific",
"5b8964b76f3d31f1f2678005ab7a96dce3aaef94f789917b8ca9f0f756f77c98:/var/www/baikal/config"
],
"BlkioDeviceReadBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceWriteIOps": null,
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"CapAdd": [
"AUDIT_WRITE",
"CHOWN",
"DAC_OVERRIDE",
"FOWNER",
"FSETID",
"KILL",
"MKNOD",
"NET_BIND_SERVICE",
"NET_RAW",
"SETFCAP",
"SETGID",
"SETPCAP",
"SETUID",
"SYS_CHROOT"
],
"CapDrop": [
"AUDIT_CONTROL",
"BLOCK_SUSPEND",
"DAC_READ_SEARCH",
"IPC_LOCK",
"IPC_OWNER",
"LEASE",
"LINUX_IMMUTABLE",
"MAC_ADMIN",
"MAC_OVERRIDE",
"NET_ADMIN",
"NET_BROADCAST",
"SYSLOG",
"SYS_ADMIN",
"SYS_BOOT",
"SYS_MODULE",
"SYS_NICE",
"SYS_PACCT",
"SYS_PTRACE",
"SYS_RAWIO",
"SYS_RESOURCE",
"SYS_TIME",
"SYS_TTY_CONFIG",
"WAKE_ALARM"
],
"Cgroup": "",
"CgroupParent": "",
"CgroupnsMode": "private",
"ConsoleSize": [
0,
0
],
"ContainerIDFile": "",
"CpuCount": 0,
"CpuPercent": 0,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpuShares": 0,
"CpusetCpus": "",
"CpusetMems": "",
"DeviceCgroupRules": null,
"DeviceRequests": [],
"Devices": [],
"Dns": [],
"DnsOptions": null,
"DnsSearch": null,
"ExtraHosts": [],
"GroupAdd": null,
"IOMaximumBandwidth": 0,
"IOMaximumIOps": 0,
"Init": false,
"IpcMode": "private",
"Isolation": "",
"Links": null,
"LogConfig": {
"Config": {
"tag": "{{.Name}}"
},
"Type": "journald"
},
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/interrupts",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap",
"/sys/devices/system/cpu/cpu0/thermal_throttle",
"/sys/devices/system/cpu/cpu1/thermal_throttle",
"/sys/devices/system/cpu/cpu2/thermal_throttle",
"/sys/devices/system/cpu/cpu3/thermal_throttle"
],
"Memory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"NanoCpus": 0,
"NetworkMode": "bridge",
"OomKillDisable": null,
"OomScoreAdj": 0,
"PidMode": "",
"PidsLimit": null,
"PortBindings": {},
"Privileged": false,
"PublishAllPorts": true,
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
],
"ReadonlyRootfs": false,
"RestartPolicy": {
"MaximumRetryCount": 0,
"Name": "no"
},
"Runtime": "runc",
"SecurityOpt": null,
"ShmSize": 67108864,
"UTSMode": "",
"Ulimits": null,
"UsernsMode": "",
"VolumeDriver": "",
"VolumesFrom": null
},
"HostnamePath": "/mnt/data/docker/containers/93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa/hostname",
"HostsPath": "/mnt/data/docker/containers/93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa/hosts",
"Id": "93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa",
"Image": "sha256:da330b20f2e3a0fc4b0c0c29b374537e61911459df1d27442347ebf5a8a473b1",
"LogPath": "",
"MountLabel": "",
"Mounts": [
{
"Destination": "/var/www/baikal/Specific",
"Driver": "local",
"Mode": "z",
"Name": "daa0d8915646b7f7453dfc6f818dab677243f92732c945f29206b20bd5608dbe",
"Propagation": "",
"RW": true,
"Source": "/mnt/data/docker/volumes/daa0d8915646b7f7453dfc6f818dab677243f92732c945f29206b20bd5608dbe/_data",
"Type": "volume"
},
{
"Destination": "/var/www/baikal/config",
"Driver": "local",
"Mode": "z",
"Name": "5b8964b76f3d31f1f2678005ab7a96dce3aaef94f789917b8ca9f0f756f77c98",
"Propagation": "",
"RW": true,
"Source": "/mnt/data/docker/volumes/5b8964b76f3d31f1f2678005ab7a96dce3aaef94f789917b8ca9f0f756f77c98/_data",
"Type": "volume"
}
],
"Name": "/baikal",
"NetworkSettings": {
"Bridge": "",
"EndpointID": "c9c20246f25ebc0169de26bcd48660096dfaabc7b24c1830710c78a5c32339bc",
"Gateway": "172.30.232.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"HairpinMode": false,
"IPAddress": "172.30.232.3",
"IPPrefixLen": 23,
"IPv6Gateway": "",
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"MacAddress": "02:aa:54:2a:60:64",
"Networks": {
"bridge": {
"Aliases": null,
"DNSNames": null,
"DriverOpts": null,
"EndpointID": "c9c20246f25ebc0169de26bcd48660096dfaabc7b24c1830710c78a5c32339bc",
"Gateway": "172.30.232.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"GwPriority": 0,
"IPAMConfig": {},
"IPAddress": "172.30.232.3",
"IPPrefixLen": 23,
"IPv6Gateway": "",
"Links": null,
"MacAddress": "02:aa:54:2a:60:64",
"NetworkID": "42ddb7ccc5a00f96f44d6b91243f9553092f312ada998e1d01ef3a9806845851"
}
},
"Ports": {
"443/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "32782"
},
{
"HostIp": "::",
"HostPort": "32782"
}
],
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "32781"
},
{
"HostIp": "::",
"HostPort": "32781"
}
]
},
"SandboxID": "35bca165b27a015b2cf7cede93ac8caff7480375ae6f4d1c23b0f16324b9972f",
"SandboxKey": "/var/run/docker/netns/35bca165b27a",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null
},
"Path": "/docker-entrypoint.sh",
"Platform": "linux",
"Portainer": {
"ResourceControl": {
"Id": 23,
"ResourceId": "93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa",
"SubResourceIds": [],
"Type": 1,
"UserAccesses": [],
"TeamAccesses": [],
"Public": false,
"AdministratorsOnly": true,
"System": false
}
},
"ProcessLabel": "",
"ResolvConfPath": "/mnt/data/docker/containers/93b252d6039f3a3800a626b04e1e18ddee3770ff8a1335ff59671e46ddea98aa/resolv.conf",
"RestartCount": 0,
"State": {
"Dead": false,
"Error": "",
"ExitCode": 0,
"FinishedAt": "0001-01-01T00:00:00Z",
"OOMKilled": false,
"Paused": false,
"Pid": 1366423,
"Restarting": false,
"Running": true,
"StartedAt": "2025-04-26T21:18:30.518864925Z",
"Status": "running"
}
}
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Nein ich meine deine Konfiguration in Portainer. Ich kenne bzw nutze das nicht, daher weiß ich nicht, wie du dort die ganzen Variablen oder Pfade setzt.
Aber ich denke, für dich wäre es einfacher, den anderen Docker zu verwenden.
Ich habe mir schon deinen anderen Link angeschaut, weiß aber leider nicht, wie ich den in Portainer einbaue.
Wie gesagt, Portainer kenne ich nicht. Aber eigentlich musst du nur bei deinem jetzigem Baikal Docker den Link zum Repository ändern zu: ghcr.io/mralucarddante/baikal-docker-hass:latest
Oder du informierst dich, wie man unter Portainer in einem Docker eine zusätzliche Variable hinzu fügen kann und machst das, wie in dem Link beschrieben.
Mehr kann ich leider dazu auch nicht helfen.
Schade. Selbst wie man den Link ändert, weiß ich leider nicht.
Moin,
das ist jetzt kein Docker Grundkurs, den Du aber mal in der Volkshochschule besuchen solltest
Du bist in der Web-UI von Portainer?
Das erst einmal zeigen!
VG
Bernd
Moin,
da sehe ich aber nicht die von Dir angelegten Baikal?
Dann mal unter Container schauen!
VG
Bernd
Wie hast du den baikal gestartet? Per docker compose up
?
Dann musst du die docker-compose.yml
bearbeiten. Ist aber auch alles in dem link von @N3RO365 beschrieben.
Ich habe nur den Container installiert und dann wurde er automatisch gestartet.
Hier habe ich den installiert.
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Hier ist in deinem Fall Portainer > Containers > Add Container oder?
Das heisst du hast alle Einstellungen von Hand unter Advanced container settings vorgenommen?
Warum hast Du den Container nicht per stack oder docker-compose installiert?