Skip to content

OpenCloud - Docker Compose local

Verschoben OpenCloud
3 1 762
  • Docker Compose entspricht den Nextcloud AIO Images. In dieser Umgebung ist alles drin, was wir haben möchten 😉 Collabora usw.

    Installation

    Laut Anleitung -> https://docs.opencloud.eu/docs/admin/getting-started/container/docker-compose-local

    git clone https://github.com/opencloud-eu/opencloud.git
    cd opencloud/deployments/examples/opencloud_full
    docker compose up -d
    

    Etwas warten und fertig. Da ich das auf einer Proxmox VM laufen habe, muss ich auf meinem Hauptrechner noch die /etc/hosts anpassen.

    192.168.3.22    cloud.opencloud.test
    192.168.3.22    collabora.opencloud.test
    192.168.3.22    wopiserver.opencloud.test
    

    Damit weiß dann der Haupt-PC wo er suchen muss. Das klappt auch einwandfrei.

    Aktualisieren

    Da kam direkt heute ein neues Release raus, also stand ich vor dem Problem "Wie aktualisiere ich das?"

    Ist gar nicht so schwer 🙂

    In das Verzeichnis wechseln, bei mir

    cd /home/frank/opencloud
    

    Wir holen mal alles Neue

    root@debian:/home/frank/opencloud# git fetch
    remote: Enumerating objects: 297, done.
    remote: Counting objects: 100% (224/224), done.
    remote: Compressing objects: 100% (104/104), done.
    remote: Total 297 (delta 140), reused 152 (delta 119), pack-reused 73 (from 1)
    Empfange Objekte: 100% (297/297), 691.77 KiB | 7.13 MiB/s, fertig.
    Löse Unterschiede auf: 100% (141/141), abgeschlossen mit 85 lokalen Objekten.
    Von https://github.com/opencloud-eu/opencloud
       d2da6a6b2..58354ff23  main                                          -> origin/main
     * [neuer Branch]        add-claude-github-actions-1747683201110       -> origin/add-claude-github-actions-1747683201110
     * [neuer Branch]        dependabot/go_modules/github.com/olekukonko/tablewriter-1.0.6 -> origin/dependabot/go_modules/github.com/olekukonko/tablewriter-1.0.6
     * [neuer Branch]        dependabot/go_modules/golang.org/x/net-0.40.0 -> origin/dependabot/go_modules/golang.org/x/net-0.40.0
     * [neuer Branch]        dependabot/npm_and_yarn/services/idp/i18next-conv-15.1.1 -> origin/dependabot/npm_and_yarn/services/idp/i18next-conv-15.1.1
     * [neuer Branch]        dependabot/npm_and_yarn/services/idp/types/node-22.15.19 -> origin/dependabot/npm_and_yarn/services/idp/types/node-22.15.19
     * [neues Tag]           v2.3.0                                        -> v2.3.0
    

    Das git Tag 2.3.0 ist neu.

    root@debian:/home/frank/opencloud# git tag -l
    public_avail
    v1.0.0
    v1.1.0
    v1.1.0-alpha.1
    v1.1.0-alpha.2
    v1.1.0-alpha.3
    v1.1.0-alpha.4
    v2.0.0
    v2.0.0-beta.1
    v2.0.1
    v2.0.2
    v2.1.0
    v2.2.0
    v2.3.0
    

    Wir aktualisieren den main Zweig

    root@debian:/home/frank/opencloud# git pull origin main
    Von https://github.com/opencloud-eu/opencloud
     * branch                main       -> FETCH_HEAD
    Aktualisiere d2da6a6b2..58354ff23
    Fast-forward
     .woodpecker.env                                                                        |   2 +-
     .woodpecker.star                                                                       | 104 +++++++++++++++++--------
     CHANGELOG.md                                                                           |  58 ++++++++++++++
     go.mod                                                                                 |   6 +-
     go.sum                                                                                 |  12 +--
     pkg/version/version.go                                                                 |   2 +-
     services/web/Makefile                                                                  |   2 +-
     vendor/github.com/segmentio/kafka-go/Makefile                                          |   2 +-
     vendor/github.com/segmentio/kafka-go/README.md                                         |   7 +-
     vendor/github.com/segmentio/kafka-go/batch.go                                          |   2 +-
     vendor/github.com/segmentio/kafka-go/conn.go                                           |  19 +++--
     vendor/github.com/segmentio/kafka-go/consumergroup.go                                  |  20 ++---
     vendor/github.com/segmentio/kafka-go/createtopics.go                                   | 102 +++++++++++++++++++------
     vendor/github.com/segmentio/kafka-go/deletetopics.go                                   |  54 +++++++++----
     vendor/github.com/segmentio/kafka-go/describeclientquotas.go                           |   2 +-
     vendor/github.com/segmentio/kafka-go/docker-compose-241.yml                            |  32 --------
     vendor/github.com/segmentio/kafka-go/docker-compose.010.yml                            |  29 -------
     vendor/github.com/segmentio/kafka-go/docker-compose.yml                                |  61 ++++++++-------
     vendor/github.com/segmentio/kafka-go/error.go                                          |   9 +++
     vendor/github.com/segmentio/kafka-go/joingroup.go                                      |  47 ++++++++----
     vendor/github.com/segmentio/kafka-go/listgroups.go                                     |   2 +-
     vendor/github.com/segmentio/kafka-go/listoffset.go                                     |   2 +-
     vendor/github.com/segmentio/kafka-go/metadata.go                                       |   2 +-
     vendor/github.com/segmentio/kafka-go/offsetfetch.go                                    |   2 +-
     vendor/github.com/segmentio/kafka-go/protocol/record.go                                |   4 +-
     vendor/github.com/segmentio/kafka-go/reader.go                                         |   6 +-
     vendor/github.com/segmentio/kafka-go/record.go                                         |   2 +-
     vendor/github.com/segmentio/kafka-go/writer.go                                         |   2 +-
     .../google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go  | 173 ++++++++++++++++++++++++++++--------------
     vendor/google.golang.org/grpc/internal/transport/http2_client.go                       |   5 +-
     vendor/google.golang.org/grpc/internal/transport/http_util.go                          |   4 +-
     vendor/google.golang.org/grpc/version.go                                               |   2 +-
     vendor/modules.txt                                                                     |   6 +-
     33 files changed, 501 insertions(+), 283 deletions(-)
     delete mode 100644 vendor/github.com/segmentio/kafka-go/docker-compose-241.yml
     delete mode 100644 vendor/github.com/segmentio/kafka-go/docker-compose.010.yml
    

    Wir wechseln nach

    cd deployments/examples/opencloud_full
    

    Wir holen mal alle neuen Container usw.

    root@debian:/home/frank/opencloud/deployments/examples/opencloud_full# docker compose pull
        [+] Pulling 15/15
         ✔ collaboration Skipped - Image is already being pulled by opencloud                                                               0.0s 
         ✔ collabora Pulled                                                                                                                 1.3s 
         ✔ traefik Pulled                                                                                                                   1.3s 
         ✔ progressbars-init Pulled                                                                                                         1.3s 
         ✔ opencloud Pulled                                                                                                                 4.5s 
           ✔ 0a9a5dfd008f Already exists                                                                                                    0.0s 
           ✔ c9b09d489a24 Pull complete                                                                                                     1.6s 
           ✔ c963d7215d91 Pull complete                                                                                                     1.6s 
           ✔ afc20667da18 Pull complete                                                                                                     1.7s 
           ✔ 4f4fb700ef54 Pull complete                                                                                                     1.7s 
           ✔ 75dc51477ecf Pull complete                                                                                                     2.5s 
         ✔ externalsites-init Pulled                                                                                                        1.3s 
         ✔ drawio-init Pulled                                                                                                               1.3s 
         ✔ jsonviewer-init Pulled                                                                                                           1.3s 
         ✔ unzip-init Pulled                                                                                                                1.3s     
    

    Und den compose komplett aktualisieren

    root@debian:/home/frank/opencloud/deployments/examples/opencloud_full# docker compose up -d
    [+] Running 9/9
     ✔ Container opencloud_full-externalsites-init-1  Exited                                                                           15.0s 
     ✔ Container opencloud_full-unzip-init-1          Exited                                                                           15.0s 
     ✔ Container opencloud_full-traefik-1             Running                                                                           0.0s 
     ✔ Container opencloud_full-jsonviewer-init-1     Exited                                                                           15.0s 
     ✔ Container opencloud_full-collabora-1           Healthy                                                                          15.8s 
     ✔ Container opencloud_full-drawio-init-1         Exited                                                                           15.0s 
     ✔ Container opencloud_full-progressbars-init-1   Exited                                                                           15.0s 
     ✔ Container opencloud_full-opencloud-1           Started                                                                          15.3s 
     ✔ Container opencloud_full-collaboration-1       Started                                                                          12.7s 
    

    Danach war die Installation auf dem neuesten Stand.

    c0c78cca-c7ad-4288-a342-273d7ccc6acd-image.png

    An die Docker Profis, was falsch? Bitte kommentieren. Danke!

  • Personal Folder

    d8ef4a9d-9f2a-4781-983c-8e4e36751e24-image.png

    draw.io

    070a49a8-dd23-4412-939c-cd57f1f686bc-image.png

    Collabora

    bdf8f2d7-ee6f-452e-9775-2f10f90cbf3b-image.png

    ce4464f5-6c07-4da1-b0b7-c03467077026-image.png

    Spaces

    c861f04f-63ca-430a-95db-89be53556bf7-image.png

    App Store

    c80b66b8-03c6-4d05-bb1f-a10c68463a6b-image.png

    Admin Settings

    e4595575-b5d3-49da-9b20-3dd69f1b4fcf-image.png

  • Noch was Wichtiges. Die Docker Installation nutzt folgende config. In meinem Beispiel findet man sie unter

    /home/frank/opencloud/deployments/examples/opencloud_full
    

    Darin liegt ein .env

    ## Basic Settings ##
    # Define the docker compose log driver used.
    # Defaults to local
    LOG_DRIVER=
    # If you're on an internet facing server, comment out following line.
    # It skips certificate validation for various parts of OpenCloud and is
    # needed when self signed certificates are used.
    INSECURE=true
    
    
    ## Traefik Settings ##
    # Note: Traefik is always enabled and can't be disabled.
    # Serve Traefik dashboard.
    # Defaults to "false".
    TRAEFIK_DASHBOARD=
    # Domain of Traefik, where you can find the dashboard.
    # Defaults to "traefik.opencloud.test"
    TRAEFIK_DOMAIN=
    # Basic authentication for the traefik dashboard.
    # Defaults to user "admin" and password "admin" (written as: "admin:$2y$05$KDHu3xq92SPaO3G8Ybkc7edd51pPLJcG1nWk3lmlrIdANQ/B6r5pq").
    # To create user:password pair, it's possible to use this command:
    # echo $(htpasswd -nB user) | sed -e s/\\$/\\$\\$/g
    TRAEFIK_BASIC_AUTH_USERS=
    # Email address for obtaining LetsEncrypt certificates.
    # Needs only be changed if this is a public facing server.
    TRAEFIK_ACME_MAIL=
    # Set to the following for testing to check the certificate process:
    # "https://acme-staging-v02.api.letsencrypt.org/directory"
    # With staging configured, there will be an SSL error in the browser.
    # When certificates are displayed and are emitted by # "Fake LE Intermediate X1",
    # the process went well and the envvar can be reset to empty to get valid certificates.
    TRAEFIK_ACME_CASERVER=
    [....gekürzt....]
    

    Man kann dort etwas ändern und mittels

    docker compose up -d
    

    alles aktualisieren.

    Radicale

    OpenCloud nutzt im Moment folgendes

    als Backend Server für Kalender & Kontakte. Jemand hat mir dann erklärt, wie das so funktioniert. Danach hatte es dann klick gemacht.

    In der config findet man zum Beispiel die Konfiguration für radicale (Kalender- und Kontakte-App) Das ist nur eine rudimentäre Ablage, wird gesteuert über Clienten, z.B. die Thunderbird Kalender Funktion.

    ### Radicale Setting ###
    # Radicale is a small open-source CalDAV (calendars, to-do lists) and CardDAV (contacts) server.
    # When enabled OpenCloud is configured as a reverse proxy for Radicale, providing all authenticated
    # OpenCloud users access to a Personal Calendar and Addressbook
    RADICALE=:radicale.yml
    # Docker image to use for the Radicale Container
    #RADICALE_DOCKER_IMAGE=opencloudeu/radicale
    # Docker tag to pull for the Radicale Container
    #RADICALE_DOCKER_TAG=latest
    # Define the storage location for the Radicale data. Set the path to a local path.
    # Ensure that the configuration and data directories are owned by the user and group with ID 1000:1000.
    # This matches the default user inside the container and avoids permission issues when accessing files.
    # Leaving it default stores data in docker internal volumes.
    #RADICALE_DATA_DIR=/your/local/radicale/data
    

    In einer Standard Installation ist das auskommentiert.

    RADICALE=:radicale.yml
    

    Danach ein

    docker compose up -d
    

    und Eure Kalendereinträge (extern auf einem Clienten verwaltet) werden in der OpenCloud gesichert.

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM verschob dieses Thema von Linux am
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • Forgejo Installation mit Podman Quadlet auf Hetzner VM

    Podman forgejo podman quadlet linux
    2
    0 Stimmen
    2 Beiträge
    298 Aufrufe
    FrankMF
    Schauen wir uns mal an, wie man die Container aktuell hält. In der postgres.container steht das hier (als Beispiel) [Container] Image=docker.io/library/postgres:17 AutoUpdate=registry Das AutoUpdate=registry ist die Voraussetzung, dass der Container aktualisiert werden darf. Mit diesem Befehl kann man sich anschauen, wie der Stand der DInge ist. root@debian-4gb-nbg1-2-forgejo:~# podman auto-update --dry-run UNIT CONTAINER IMAGE POLICY UPDATED forgejo-pod.service 6486189fb10c (postgres) docker.io/library/postgres:17 registry false forgejo-pod.service 7d5627e2d434 (forgejo) codeberg.org/forgejo/forgejo:11.0.1 registry false forgejo-pod.service 7fb26d4f8b58 (nginx) docker.io/library/nginx:latest registry false Podman hat aber standardmäßig einen systemd Dienst, der sich darum kümmert root@forgejo:/etc/containers/systemd# systemctl status podman-auto-update.service ○ podman-auto-update.service - Podman auto-update service Loaded: loaded (/usr/lib/systemd/system/podman-auto-update.service; enabled; preset: enabled) Active: inactive (dead) since Mon 2025-06-09 00:02:57 UTC; 12h ago Invocation: a098f0054b254a0888ee789200ac9507 TriggeredBy: ● podman-auto-update.timer Docs: man:podman-auto-update(1) Process: 68939 ExecStart=/usr/bin/podman auto-update (code=exited, status=0/SUCCESS) Process: 68947 ExecStartPost=/usr/bin/podman image prune -f (code=exited, status=0/SUCCESS) Main PID: 68939 (code=exited, status=0/SUCCESS) Mem peak: 14.4M CPU: 292ms Jun 09 00:02:55 forgejo systemd[1]: Starting podman-auto-update.service - Podman auto-update service... Jun 09 00:02:55 forgejo podman[68939]: 2025-06-09 00:02:55.368941 +0000 UTC m=+0.059687227 system auto-update Jun 09 00:02:57 forgejo podman[68939]: UNIT CONTAINER IMAGE POLICY UPDATED Jun 09 00:02:57 forgejo podman[68939]: forgejo-pod.service 6486189fb10c (postgres) docker.io/library/postgres:17 registry false Jun 09 00:02:57 forgejo podman[68939]: forgejo-pod.service 7d5627e2d434 (forgejo) codeberg.org/forgejo/forgejo:11.0.1 registry false Jun 09 00:02:57 forgejo podman[68939]: forgejo-pod.service f2e9eee72017 (nginx) docker.io/library/nginx:latest registry false Jun 09 00:02:57 forgejo systemd[1]: podman-auto-update.service: Deactivated successfully. Jun 09 00:02:57 forgejo systemd[1]: Finished podman-auto-update.service - Podman auto-update service. postgres Ok, die Container sollten automatisch aktualisiert werden. docker.io/library/postgres:17 Die Postgres DB ist auf die Version 17 festgezurrt. Aktuell ist root@forgejo:/etc/containers/systemd# podman exec postgres postgres --version postgres (PostgreSQL) 17.5 (Debian 17.5-1.pgdg120+1) Eine Version 17.6 wird jetzt automatisch installiert, eine Version 18 aber nicht. nginx docker.io/library/nginx:latest NGINX zieht sich also immer die letzte "latest" Version, die zur Verfügung gestellt wird. root@forgejo:/etc/containers/systemd# podman exec nginx nginx -v nginx version: nginx/1.27.5 Gerade mal gecheckt, 1.27.5 ist die letzte Mainline Version. Also sind wir aktuell. forgejo Der Eintrag codeberg.org/forgejo/forgejo:11.0.1 aktuelle Version, die installiert ist. root@forgejo:/etc/containers/systemd# podman exec forgejo forgejo -v Forgejo version 11.0.1+gitea-1.22.0 (release name 11.0.1) built with GNU Make 4.4.1, go1.24.2 : bindata, timetzdata, sqlite, sqlite_unlock_notify Ok, wir sind auf Version 11.0.1 Wenn jetzt die Version 11.0.2 herauskommt, wird diese nicht installiert, da wir im forgejo.container folgendes stehen haben. [Container] Image=codeberg.org/forgejo/forgejo:11.0.1 Das ist aber erst mal nicht so schlimm, ich lese da mit und bekomme das mit. Das mache ich auch lieber von Hand, dann kann ich besser sehen wo es klemmt
  • Debian Bookworm 12.6 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    194 Aufrufe
    Niemand hat geantwortet
  • Flatpak - Signal

    Linux flatpak signal linux
    1
    0 Stimmen
    1 Beiträge
    161 Aufrufe
    Niemand hat geantwortet
  • Links zu Vaultwarden

    Angeheftet Vaultwarden vaultwarden bitwarden linux
    1
    0 Stimmen
    1 Beiträge
    178 Aufrufe
    Niemand hat geantwortet
  • Debian 13 - Trixie

    Linux linux debian
    1
    0 Stimmen
    1 Beiträge
    215 Aufrufe
    Niemand hat geantwortet
  • Kopia - Administrative Aufgaben

    Kopia kopia linux
    1
    0 Stimmen
    1 Beiträge
    317 Aufrufe
    Niemand hat geantwortet
  • mdadm

    Verschoben Linux linux
    5
    0 Stimmen
    5 Beiträge
    541 Aufrufe
    FrankMF
    Nachdem ich die SATA-Karte gewechselt habe, sind meine Probleme verschwunden. Mein NAS läuft seit Monaten einwandfrei. rock64@rp64v_2_1_NAS:~$ uptime 21:57:50 up 73 days, 4:44, 1 user, load average: 0,00, 0,00, 0,00 https://forum.frank-mankel.org/topic/299/sata-karte-marvell-88se9230-chipsatz/16
  • NodeBB - Automatisch starten

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    687 Aufrufe
    Niemand hat geantwortet