Skip to content

OpenCloud - Docker Compose local

Verschoben OpenCloud
3 1 484
  • 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 auf dieses Thema verwiesen
  • FrankMF FrankM verschob dieses Thema von Linux
  • NodeBB - 4.3.0

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    119 Aufrufe
    Niemand hat geantwortet
  • Update 1.32.6

    Vaultwarden vaultwarden linux
    1
    0 Stimmen
    1 Beiträge
    152 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12.8 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    176 Aufrufe
    Niemand hat geantwortet
  • KDE neon Unstable Edition

    Linux kde linux plasma
    6
    2
    0 Stimmen
    6 Beiträge
    454 Aufrufe
    FrankMF
    Heute Morgen beim mal die Testinstallation aktualisiert. 484 Pakete [image: 1700901047287-screenshot_20231125_092126.png] Nach dem Klicken auf Alle aktualisieren, startete der Rechner neu und installierte dann die Updates!? Holy Fuck, das erinnert mich an M$. Aber gut, KDE Neon soll ja auch nicht mein Hauptsystem werden.
  • Pycharm & Docker

    Verschoben Linux pycharm docker linux
    1
    4
    0 Stimmen
    1 Beiträge
    319 Aufrufe
    Niemand hat geantwortet
  • Wenn dir der Redis-Server flöten geht....

    Verschoben Redis linux redis
    3
    0 Stimmen
    3 Beiträge
    666 Aufrufe
    FrankMF
    So, nach einer kleinen Pause und ein wenig nachdenken ist mir doch noch was eingefallen Backports! Man so einfach! nano /etc/apt/sources.list Das folgende eintragen. # backports deb http://deb.debian.org/debian stretch-backports main Danach ein apt update Und dann schauen wir uns mal die Version an.... apt -t stretch-backports search redis-server Sorting... Done Full Text Search... Done golang-github-stvp-tempredis-dev/stretch-backports 0.0~git20160122.0.83f7aae-1~bpo9+1 all Go package to start and stop temporary redis-server processes libtest-redisserver-perl/oldstable,oldstable 0.20-1 all redis-server runner for tests python-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python 2.X using hiredis python3-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python using hiredis redis/stretch-backports 5:5.0.3-3~bpo9+2 all Persistent key-value database with network interface (metapackage) redis-server/stretch-backports 5:5.0.3-3~bpo9+2 amd64 [residual-config] Persistent key-value database with network interface Und die habe ich gestern Abend gebaut. 127.0.0.1:6379> INFO # Server redis_version:5.0.5 Ok, das schmerzt jetzt
  • [HOWTO] Verschlüsseltes NAS aufsetzen

    Verschoben ROCKPro64 howto linux rockpro64
    12
    0 Stimmen
    12 Beiträge
    3k Aufrufe
    FrankMF
    Da btrfs bei mir ja nicht so der Bringer war, Fehler im Image vom Kamil?, Fehler in btrfs? Ich weiß es nicht, also weg damit! Da ich das NAS noch richtig produktiv genutzt hatte, waren die Daten schnell gesichert. Danach das NAS neugestartet, nun sind die beiden Platten nicht mehr gemountet und wir können damit arbeiten. ACHTUNG! Ich bitte wie immer darum, das Gehirn ab hier einzuschalten! Sonst droht Datenverlust! Aus Sicherheitsgründen gebe ich hier die Laufwerke so an = sdX1 Das X bitte entsprechend austauschen! Die beiden Platten mit sudo fdisk /dev/sdX neu einrichten. Alte Partition weg, neu einrichten usw. Im Detail gehe ich hier jetzt nicht drauf ein. Ich gehe davon aus, das das bekannt ist. Der Plan raid_pool0 = sdX1 = /dev/mapper/raid_pool0 raid_pool1 = sdX1 = /dev/mapper/raid_pool1 Verschlüsseln sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sdX1 sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sdX1 Platten entschlüsseln sudo cryptsetup open /dev/sdX1 raid_pool0 sudo cryptsetup open /dev/sdX1 raid_pool1 RAID1 anlegen sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/mapper/raid_pool0 /dev/mapper/raid_pool1 sudo mkfs.ext4 /dev/md0 Script zum Entschlüsseln und Mounten crypt.sh #!/bin/bash ###############################################################################$ # Autor: Frank Mankel # Verschlüsseltes Raid1 einbinden! # # Hardware: # ROCKPro64v2.1 # PCIe SATA Karte # 2St. 2,5 Zoll HDD Platten a 2TB # # Software: # bionic-minimal 0.7.9 # Kontakt: frank.mankel@gmail.com # ###############################################################################$ #Passwort abfragen echo "Passwort eingeben!" read -s password echo "Bitte warten......" #Passwörter abfragen echo -n $password | cryptsetup open /dev/sdX1 raid_pool0 -d - echo -n $password | cryptsetup open /dev/sdX1 raid_pool1 -d - #Raid1 mounten mount /dev/md0 /mnt/raid echo "Laufwerke erfolgreich gemountet!" Bis jetzt sieht das Raid ok aus, ich werde das die nächsten Tage mal ein wenig im Auge behalten. [ 82.430293] device-mapper: uevent: version 1.0.3 [ 82.430430] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com [ 108.196397] md/raid1:md0: not clean -- starting background reconstruction [ 108.196401] md/raid1:md0: active with 2 out of 2 mirrors [ 108.240395] md0: detected capacity change from 0 to 2000260497408 [ 110.076860] md: resync of RAID array md0 [ 110.385099] EXT4-fs (md0): recovery complete [ 110.431715] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null) [57744.301662] md: md0: resync done.
  • NodeBB auf dem Raspberry3 B+ installieren

    RaspberryPi nodebb raspberrypi linux
    1
    0 Stimmen
    1 Beiträge
    881 Aufrufe
    Niemand hat geantwortet