Skip to content

Wenn man mit Docker #OpenCloud als AIO installiert, hat man auch direkt #Collabora usw.

Uncategorized
26 5 880
  • 0 Stimmen
    1 Beiträge
    19 Aufrufe
    Niemand hat geantwortet
  • OpenCloud - Docker Compose Hetzner VM

    Angeheftet Verschoben OpenCloud opencloud linux docker
    2
    2
    0 Stimmen
    2 Beiträge
    206 Aufrufe
    FrankMF
    Ich habe mich nochmal mit verschiedenen Aspekten der produktiven Installation beschäftigt. Auch ein wenig die KI befragt und dann ein paar Änderungen vorgenommen. Was hatte mich gestört? Traefik lief als root. Um das zu ändern, habe ich das docker-compose.yml angepasst. Ich habe auch gleich mal auf die aktuelle Version angepasst. services: traefik: image: traefik:v3.4.1 #3.3.1 container_name: traefik user: "1000:1001" # 1000 = dockeruser, 1001=docker group cap_add: - NET_BIND_SERVICE # erlaubt Ports <1024 restart: always networks: - opencloud-net ports: - "80:80" - "443:443" volumes: - ./certs:/certs # bind-mount acme.json - /var/run/docker.sock:/var/run/docker.sock:ro command: - "--log.level=${TRAEFIK_LOG_LEVEL:-ERROR}" # Let's Encrypt HTTP-01 Challenge - "--certificatesResolvers.http.acme.email=${TRAEFIK_ACME_MAIL:-example@example.org}" - "--certificatesResolvers.http.acme.storage=/certs/acme.json" - "--certificatesResolvers.http.acme.httpChallenge.entryPoint=http" - "--certificatesResolvers.http.acme.caserver=${TRAEFIK_ACME_CASERVER:-https://acme-v02.api.letsencrypt.org/directory}" # Dashboard - "--api.dashboard=true" # Entrypoints - "--entryPoints.http.address=:80" - "--entryPoints.http.http.redirections.entryPoint.to=https" - "--entryPoints.http.http.redirections.entryPoint.scheme=https" - "--entryPoints.https.address=:443" - "--entryPoints.https.transport.respondingTimeouts.readTimeout=12h" - "--entryPoints.https.transport.respondingTimeouts.writeTimeout=12h" - "--entryPoints.https.transport.respondingTimeouts.idleTimeout=3m" # Docker Provider - "--providers.docker.endpoint=unix:///var/run/docker.sock" - "--providers.docker.exposedByDefault=false" # Access Log - "--accessLog=true" - "--accessLog.format=json" - "--accessLog.fields.headers.names.X-Request-Id=keep" labels: - "traefik.enable=${TRAEFIK_DASHBOARD:-false}" - "traefik.http.middlewares.traefik-auth.basicauth.users=${TRAEFIK_BASIC_AUTH_USERS:-admin:$$apr1$$4vqie50r$$YQAmQdtmz5n9rEALhxJ4l.}" - "traefik.http.routers.traefik.entrypoints=https" - "traefik.http.routers.traefik.rule=Host(`${TRAEFIK_DOMAIN:-traefik.opencloud.test}`)" - "traefik.http.routers.traefik.middlewares=traefik-auth" - "traefik.http.routers.traefik.tls.certresolver=http" - "traefik.http.routers.traefik.service=api@internal" networks: opencloud-net: volumes: {} Und hierzu - ./certs:/certs # bind-mount acme.json brauch es noch ein paar Anpassungen auf dem Host, also im Verzeichnis von wo wir deployen mit dem dockeruser! mkdir -p ./certs touch ./certs/acme.json chmod 600 ./certs/acme.json chown 1000:1000 ./certs/acme.json # UID muss mit docker-compose user übereinstimmen Das klappt jetzt hier einwandfrei. dockeruser@opencloud:~/opencloud/deployments/examples/opencloud_full$ docker exec -it traefik id uid=1000 gid=1001 groups=1001 Sieht soweit gut aus Die KI meint noch das hier Wenn du maximale Sicherheit willst, kannst du langfristig docker-socket-proxy einsetzen. Er erlaubt Traefik nur lesenden Zugriff auf die Container-API: → Projektseite: Tecnativa/docker-socket-proxy Das muss ich aber erst noch sacken lassen und mich etwas zu einlesen.
  • Nextcloud - Update 31.0.5

    Nextcloud nextcloud linux
    1
    0 Stimmen
    1 Beiträge
    210 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Update auf 30.0.1

    Nextcloud nextcloud linux
    1
    0 Stimmen
    1 Beiträge
    233 Aufrufe
    Niemand hat geantwortet
  • Nextcloud API Zugriff

    Nextcloud nextcloud
    4
    0 Stimmen
    4 Beiträge
    353 Aufrufe
    FrankMF
    Ok, es gab noch ein Problem und zwar '/'. Habe das Script jetzt nochmal umgebaut, jetzt bin ich soweit zufrieden. Die Textdatei ist auf meine Bedürfnisse angepasst worden 1.2.01 1.2.01.1 Text1.1 1.2.01.2 Text1.2 1.2.02 1.2.02.1 Text2.1/Testing 1.2.02.2 Text2.2 1.2.01 und 1.2.02 erzeugt dann einen Ordner, der Rest sind dann Unterordner. """ Tool to create folders using the Nextcloud API """ ############################################### # Imports ############################################### import subprocess from pathlib import Path ############################################### # Constant ############################################### # Get home directory from user USERHOME = str(Path.home()) NCPATH = 'https://DOMAIN/remote.php/dav/files/Frank/Python_Script/' USERNAME = 'USER' PASSWORD = 'PASSWORD' ############################################### # Function to crate folder with nextcloud api ############################################### def read_textobject(): # read folders to create from textfile with open(f'{USERHOME}/Textdatei.txt', 'r') as obj: # create object for line in obj: line_split = line.split(' ') elements = line_split[0].split('.') try: if elements[3]: main_folder = 0 # replace whitespaces with %20, and / with _ and remove linefeed (\n) path = Path((line.replace(' ', '%20').replace('/', '_')).rstrip('\n')) except IndexError: print("Element is main folder") main_folder = 1 # replace whitespaces with %20, and / with _ and remove linefeed (\n) main = Path((line.replace(' ', '%20').replace('/', '_')).rstrip('\n')) else: print("Element is not a main folder") ############################################### # Create directory ############################################### if main_folder == 1: # Main folder try: args = ['curl', '-u', f'{USERNAME}:{PASSWORD}', f'{NCPATH}{main}', '-X', 'MKCOL'] result = subprocess.run(args, check=True, capture_output=True, text=True) except subprocess.CalledProcessError as error: print(result.stderr) else: if result.stdout: print(result.stdout) else: print('Directory created successful') else: # Not a main folder try: args = ['curl', '-u', f'{USERNAME}:{PASSWORD}', f'{NCPATH}{main}/{path}', '-X', 'MKCOL'] result = subprocess.run(args, check=True, capture_output=True, text=True) except subprocess.CalledProcessError as error: print(result.stderr) else: if result.stdout: print(result.stdout) else: print('Directory created successful') else: print(result.stdout) obj.close() if __name__ == '__main__': read_textobject()
  • Nextcloud 21.0.2 - Kann kein PDF anzeigen!?

    Nextcloud nextcloud
    1
    0 Stimmen
    1 Beiträge
    213 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Deck

    Nextcloud nextcloud
    2
    2
    0 Stimmen
    2 Beiträge
    517 Aufrufe
    FrankMF
    Für meine Lieblings App gibt es auch eine mobile App. https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play Diese App kostet 2,99€, ich denke das ist gut investiert. [image: 1618420504168-deck.jpg] Und so was müßte es jetzt noch bei meinem Arbeitgeber geben
  • Nextcloud ohne https lokal nutzen!?

    Verschoben Nextcloud nextcloud
    1
    1
    0 Stimmen
    1 Beiträge
    832 Aufrufe
    Niemand hat geantwortet