diff --git a/nextcloud/.gitignore b/nextcloud/.gitignore new file mode 100644 index 0000000..3e10db6 --- /dev/null +++ b/nextcloud/.gitignore @@ -0,0 +1,3 @@ +mysql_database/* +app/* +daten/* \ No newline at end of file diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml new file mode 100644 index 0000000..84c59cd --- /dev/null +++ b/nextcloud/docker-compose.yml @@ -0,0 +1,83 @@ +services: + nextcloud-db: + image: mariadb:10.11 + container_name: nextcloud-db + command: --transaction-isolation=READ-COMMITTED --innodb_read_only_compressed=OFF + restart: unless-stopped + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./mysql_database:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=8hANayfptc2RRvVZw2TYPP_d #SQL root Passwort eingeben + - MYSQL_PASSWORD=tkfwzjY7y*3pkDAaC8P4BTQt #SQL Benutzer Passwort eingeben + - MYSQL_DATABASE=nextcloud #Datenbank Name + - MYSQL_USER=garrycloud #SQL Nutzername + - MYSQL_INITDB_SKIP_TZINFO=1 + - MARIADB_AUTO_UPGRADE=1 + networks: + - backend + nextcloud-redis: + image: redis:alpine + container_name: nextcloud-redis + hostname: nextcloud-redis + networks: + - backend + restart: unless-stopped + command: redis-server --requirepass tkfwzjY7y*3pkDAaC8 # Redis Passwort eingeben + nextcloud-app: + #build: . + image: nextcloud:latest + container_name: nextcloud-app + restart: unless-stopped + depends_on: + - nextcloud-db + - nextcloud-redis + environment: + TRUSTED_PROXIES: 172.30.255.254/16 + OVERWRITEPROTOCOL: https + OVERWRITECLIURL: https://nextcloud.sebastiangedigk.com + OVERWRITEHOST: nextcloud.sebastiangedigk.com + REDIS_HOST: nextcloud-redis + REDIS_HOST_PASSWORD: tkfwzjY7y*3pkDAaC8 # Redis Passwort von oben wieder eingeben + NEXTCLOUD_ADMIN_USER: garry1704 + NEXTCLOUD_ADMIN_PASSWORD: qxm2ZQV7qwx-zfz7qxc + MYSQL_DATABASE: nextcloud + MYSQL_USER: garrycloud + MYSQL_PASSWORD: tkfwzjY7y*3pkDAaC8P4BTQt + MYSQL_HOST: nextcloud-db + + volumes: + - ./app:/var/www/html + - ./daten:/var/www/html/data + labels: + - "traefik.enable=true" + - "traefik.http.routers.nextcloud.entrypoints=websecure" + - "traefik.http.routers.nextcloud.rule=(Host(`nextcloud.sebastiangedigk.com`))" + - "traefik.http.routers.nextcloud.tls=true" + - "traefik.http.routers.nextcloud.tls.certresolver=cloudflare" + - "traefik.http.routers.nextcloud.service=nextcloud" + - "traefik.http.services.nextcloud.loadbalancer.server.port=80" + - "traefik.docker.network=frontend" + networks: + - frontend + - backend + nextcloud-appapi-dsp: + image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release + container_name: nextcloud-appapi-dsp + hostname: nextcloud-appapi-dsp + restart: unless-stopped + privileged: true + environment: + NC_HAPROXY_PASSWORD: your_secret_key + volumes: + - /var/run/docker.sock:/var/run/docker.sock + networks: + - backend + +networks: + frontend: + external: true + backend: + external: true + \ No newline at end of file diff --git a/traefik/.data/certs/cloudflare-acme.json b/traefik/.data/certs/cloudflare-acme.json index 1b167c3..69d8828 100644 --- a/traefik/.data/certs/cloudflare-acme.json +++ b/traefik/.data/certs/cloudflare-acme.json @@ -116,6 +116,17 @@ "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURvakNDQXllZ0F3SUJBZ0lTQmdGcXFmNXdzRmdnL1pVaGRDYUd0QjY0TUFvR0NDcUdTTTQ5QkFNRE1ESXgKQ3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRmJtTnllWEIwTVFzd0NRWURWUVFERXdKRgpPREFlRncweU5qQXpNREV4TlRRNE5URmFGdzB5TmpBMU16QXhOVFE0TlRCYU1Db3hLREFtQmdOVkJBTVRIMjlzCmJHRnRZUzVvYjIxbExuTmxZbUZ6ZEdsaGJtZGxaR2xuYXk1amIyMHdXVEFUQmdjcWhrak9QUUlCQmdncWhrak8KUFFNQkJ3TkNBQVNsUmd4cHBMSW1Qdkh3cTVwcDBLclhKa0JNTVNFLy96aHVub1Fkd0NyRWFmQjVDdGxtcGRudgpSU0FwbDRUTHpScGNoVVNZQUU2S0d4MVJWNG94TXRIWm80SUNJekNDQWg4d0RnWURWUjBQQVFIL0JBUURBZ2VBCk1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUJNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZOWlIKa2htcm5MTWlzRFMrVEJmNVh1Z3U4cmwzTUI4R0ExVWRJd1FZTUJhQUZJOE5FNkwyTG43UlVHd3pHRGhkV1k0agpjcEhLTURJR0NDc0dBUVVGQndFQkJDWXdKREFpQmdnckJnRUZCUWN3QW9ZV2FIUjBjRG92TDJVNExta3ViR1Z1ClkzSXViM0puTHpBcUJnTlZIUkVFSXpBaGdoOXZiR3hoYldFdWFHOXRaUzV6WldKaGMzUnBZVzVuWldScFoyc3UKWTI5dE1CTUdBMVVkSUFRTU1Bb3dDQVlHWjRFTUFRSUJNQzBHQTFVZEh3UW1NQ1F3SXFBZ29CNkdIR2gwZEhBNgpMeTlsT0M1akxteGxibU55TG05eVp5ODFOeTVqY213d2dnRUVCZ29yQmdFRUFkWjVBZ1FDQklIMUJJSHlBUEFBCmRRRExPUGNWaVh5RW9VUmZXOEhkKzhsdThwcFp6VWNLYVFXRnNNc1V3eFJZNXdBQUFaeXFUQi85QUFBRUF3QkcKTUVRQ0lIWTY2TnRCdTV6bVJNN1hMck1nUi9jaWhDeW5taU43RWdoVmVaNlE0VXpoQWlBbzlrSTRJR3d0UFZudQpFU3lyTUpWN2syc2hleTB5dXlEcEtjb25ib01tVmdCM0FFbWNtMm5lSFh6cy9EYmV6WWRrcHJoYnJ3cUhnQm5SClZWTDc2ZXNwM2ZqREFBQUJuS3BNSC9VQUFBUURBRWd3UmdJaEFQVWd1VmNYQkFOU2xqOWZSakpPNnBzeU1aU1IKVGN2ODlRbEpkeno4YmREN0FpRUFwTEdXWDBFQk9zVkN0NGh6U2YxSnNtb05NNk45S3VQYkErYnlzOXQrTWxNdwpDZ1lJS29aSXpqMEVBd01EYVFBd1pnSXhBTE82UUo3Wk91QUw3RmxmeDkrNUlZWCt4MmJsSTJUOHBWMEh1LzY1CmVRRlZBVDYrTzBGZHpTcTVYSHplUXdDWVV3SXhBT1kvZTBCWHFnQTU3c05xSUFnNFZlMHBrNVAxZllkekJSQUkKQXNSZVY3WUdrblNIWTFuRnVnL00zQmJGbTA3dG1nPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVWakNDQWo2Z0F3SUJBZ0lRWTVXVFk4Sk9jSUp4V1JpL3c5ZnRWakFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURJeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXN3Q1FZRFZRUURFd0pGT0RCMk1CQUdCeXFHU000OUFnRUdCU3VCQkFBaUEySUFCTkZsOGw3YwpTN1FNQXB6U3N2cnU2V3lyT3E0NG9mVFVPVEl6eFVMVXpETU1OTWNoSUpCd1hPaGlMeHh4czBMWGViNUdEY0hiClI2RVRvTWZmZ1Naak85U05IZlk5Z2pNeTl2UXI1L1dXT3JRVFp4aDdhejZOU05ucTN1MnViVDZIVEtPQitEQ0IKOVRBT0JnTlZIUThCQWY4RUJBTUNBWVl3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNQgpNQklHQTFVZEV3RUIvd1FJTUFZQkFmOENBUUF3SFFZRFZSME9CQllFRkk4TkU2TDJMbjdSVUd3ekdEaGRXWTRqCmNwSEtNQjhHQTFVZEl3UVlNQmFBRkhtMFdlWjd0dVhrQVhPQUNJaklHbGoyNlp0dU1ESUdDQ3NHQVFVRkJ3RUIKQkNZd0pEQWlCZ2dyQmdFRkJRY3dBb1lXYUhSMGNEb3ZMM2d4TG1rdWJHVnVZM0l1YjNKbkx6QVRCZ05WSFNBRQpEREFLTUFnR0JtZUJEQUVDQVRBbkJnTlZIUjhFSURBZU1CeWdHcUFZaGhab2RIUndPaTh2ZURFdVl5NXNaVzVqCmNpNXZjbWN2TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFCbkUwaEdJTktzQ1lXaTBYeDF5Z3hENXFpaEVqWjAKUkkzdFRaejF3dUFUSDNad1lQSXA5N2tXRWF5YW5EMWowY0RoSVl6eTRDa0RvMmpCOEQ1dDBhNnpaV3pscjk4ZApBUUZOaDh1S0prSUhkTFNoeStuVXllWnhjNWJOZU1wMUx1MGdTekU0TWNxZm1OTXZJcGVpd1dTWU85dzgyT2I4Cm90dlhjTzJKVVlpM3N2SElXUm0zKzcwN0RVYkw1MVhNY1kyaVpkbENxNFdhOW5idWszV1RVNGdyNkxZOE16VkEKYURRRzIrNFUzZUo2cVVGMTBiQm5SMXV1VnlEWXM5Umhyd3VjUlZuZnVEajI5Q01MVHNwbE01ZjV3U1Y1aFVwbQpVd3AvdlY3TTR3NGFHdW50NzRrb1g3MW40RWRhZ0NzTC9ZazUrbUFRVTArdHVlMEpPZkFWL1I2dDFrK1hrOXMyCkhNUUZlb3hwcGZ6QVZDMDRGZEc5TStBQzJKV3htRlN0NkJDdWgzQ0VleTNmRTUyUXJqOVlNNzVydHZJanNtLzEKSGwrdS8vV3F4bnUxWlE0anBhK1ZwdVppR09sV3JxU1A5ZW9nZE9oQ0dpc255ZXdXSndSUU9xSzE2d2lHeVplUgp4cy9CZWt3NjV2d1NJYVZrQnJ1UGlUZk1PbzBaaDRnVmE4L3FKZ01iSmJ5cnd3Rzk3ei9QUmdtTEtDRGw4ejNkCnRBMFo3cXE3ZnRhMEdsMjR1eXVCMDVkcUk1SjFMdkF6S3VXZElqVDF0UDhxQ294U0UveHBpeDhoWDJkdDNoKy8KanVqVWdGUEZaMEVWWjB4U3lCTlJGM01ib0dabllYRlV4cE5qVFdQS3BhZ0RISlFtcXJBY0RtV0puTXNGWTNqUwp1MWlndjNPZWZuV2pTUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "key": "LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUJYRER1TmtnbjRYQno5ZlZBR01DV1E3Y3NFTE4rNk5BT3VRdW94SXhIRDVvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFcFVZTWFhU3lKajd4OEt1YWFkQ3ExeVpBVERFaFAvODRicDZFSGNBcXhHbndlUXJaWnFYWgo3MFVnS1plRXk4MGFYSVZFbUFCT2loc2RVVmVLTVRMUjJRPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=", "Store": "default" + }, + { + "domain": { + "main": "nextcloud.home.sebastiangedigk.com", + "sans": [ + "nextcloud.sebastiangedigk.com" + ] + }, + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR6VENDQTFTZ0F3SUJBZ0lTQlZNd3BQMlgzL3B5Uml6RlRtcWZNem84TUFvR0NDcUdTTTQ5QkFNRE1ESXgKQ3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRmJtTnllWEIwTVFzd0NRWURWUVFERXdKRgpPREFlRncweU5qQXpNREV4TnpVMU1EUmFGdzB5TmpBMU16QXhOelUxTUROYU1DMHhLekFwQmdOVkJBTVRJbTVsCmVIUmpiRzkxWkM1b2IyMWxMbk5sWW1GemRHbGhibWRsWkdsbmF5NWpiMjB3V1RBVEJnY3Foa2pPUFFJQkJnZ3EKaGtqT1BRTUJCd05DQUFTSUFiVWxzVFJJajI1MzNqRmN5TXVWTEx2MTRzeXZOYnI5SndrMC9KWnZmS2hjbFB2cwpiTm91RW93Qis1bDQzOTI4Q3pVRzJzK0gyRy9QbXhMM001VkRvNElDVFRDQ0Fra3dEZ1lEVlIwUEFRSC9CQVFECkFnZUFNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUUKRkRydkJvazRiRDlMR0d2aWwrM210cWhBRFVIa01COEdBMVVkSXdRWU1CYUFGSThORTZMMkxuN1JVR3d6R0RoZApXWTRqY3BIS01ESUdDQ3NHQVFVRkJ3RUJCQ1l3SkRBaUJnZ3JCZ0VGQlFjd0FvWVdhSFIwY0RvdkwyVTRMbWt1CmJHVnVZM0l1YjNKbkx6Qk1CZ05WSFJFRVJUQkRnaUp1WlhoMFkyeHZkV1F1YUc5dFpTNXpaV0poYzNScFlXNW4KWldScFoyc3VZMjl0Z2gxdVpYaDBZMnh2ZFdRdWMyVmlZWE4wYVdGdVoyVmthV2RyTG1OdmJUQVRCZ05WSFNBRQpEREFLTUFnR0JtZUJEQUVDQVRBdEJnTlZIUjhFSmpBa01DS2dJS0FlaGh4b2RIUndPaTh2WlRndVl5NXNaVzVqCmNpNXZjbWN2TmpFdVkzSnNNSUlCREFZS0t3WUJCQUhXZVFJRUFnU0IvUVNCK2dENEFIWUF5emozRllsOGhLRkUKWDF2QjNmdkpidkthV2MxSENta0ZoYkRMRk1NVVdPY0FBQUdjcXIrd09RQUFCQU1BUnpCRkFpQVUzNXJtSlZZTQpuNVJXNXg2UUlVMmg4QlQxL1IzOGQ0c1pmTEtQYVdzZ3F3SWhBSkFuUi9ZRXEyVXRhR2NWNzN4ZC9IVGh4VXpmCnV6cGRubnY3dmY0K2ErZW9BSDRBR291ZGFVcFhtTWlab01xSXZmU1B3TFJXWU16RFlBMGZjZlJwLzhmUnJLTUEKQUFHY3FyK3lmQUFJQUFBRkFGQjlnd1FFQXdCSE1FVUNJUUN1WmxweUlIVmlZb3FmRnA1OHVTazJkTldCenFnYgpjQkxvZTlOeGNJQWRyZ0lnR0RabzFTNFFvaGpjTEFNcHVBV1V6K1FBem51N05RUVBXaStJS2J1a2pZZ3dDZ1lJCktvWkl6ajBFQXdNRFp3QXdaQUl3UFdtMUVEOUlMYjlKVWltOGFyNVhlZmdLRGtZU2t1VVh4ekI0eXZvd3JyQUgKMFNYaWNsakxOWXlCc0N4UFV2S0tBakJoU1ArZGhhQ3FSYWlvWU1YcXNMSkU3OWxORDJvcEZSb2xVZW1SZWJNOQpHOGJvaHhTZ2lLRVlxSGlBL2tGeHNvTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQoKLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVWakNDQWo2Z0F3SUJBZ0lRWTVXVFk4Sk9jSUp4V1JpL3c5ZnRWakFOQmdrcWhraUc5dzBCQVFzRkFEQlAKTVFzd0NRWURWUVFHRXdKVlV6RXBNQ2NHQTFVRUNoTWdTVzUwWlhKdVpYUWdVMlZqZFhKcGRIa2dVbVZ6WldGeQpZMmdnUjNKdmRYQXhGVEFUQmdOVkJBTVRERWxUVWtjZ1VtOXZkQ0JZTVRBZUZ3MHlOREF6TVRNd01EQXdNREJhCkZ3MHlOekF6TVRJeU16VTVOVGxhTURJeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkYKYm1OeWVYQjBNUXN3Q1FZRFZRUURFd0pGT0RCMk1CQUdCeXFHU000OUFnRUdCU3VCQkFBaUEySUFCTkZsOGw3YwpTN1FNQXB6U3N2cnU2V3lyT3E0NG9mVFVPVEl6eFVMVXpETU1OTWNoSUpCd1hPaGlMeHh4czBMWGViNUdEY0hiClI2RVRvTWZmZ1Naak85U05IZlk5Z2pNeTl2UXI1L1dXT3JRVFp4aDdhejZOU05ucTN1MnViVDZIVEtPQitEQ0IKOVRBT0JnTlZIUThCQWY4RUJBTUNBWVl3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNQgpNQklHQTFVZEV3RUIvd1FJTUFZQkFmOENBUUF3SFFZRFZSME9CQllFRkk4TkU2TDJMbjdSVUd3ekdEaGRXWTRqCmNwSEtNQjhHQTFVZEl3UVlNQmFBRkhtMFdlWjd0dVhrQVhPQUNJaklHbGoyNlp0dU1ESUdDQ3NHQVFVRkJ3RUIKQkNZd0pEQWlCZ2dyQmdFRkJRY3dBb1lXYUhSMGNEb3ZMM2d4TG1rdWJHVnVZM0l1YjNKbkx6QVRCZ05WSFNBRQpEREFLTUFnR0JtZUJEQUVDQVRBbkJnTlZIUjhFSURBZU1CeWdHcUFZaGhab2RIUndPaTh2ZURFdVl5NXNaVzVqCmNpNXZjbWN2TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFCbkUwaEdJTktzQ1lXaTBYeDF5Z3hENXFpaEVqWjAKUkkzdFRaejF3dUFUSDNad1lQSXA5N2tXRWF5YW5EMWowY0RoSVl6eTRDa0RvMmpCOEQ1dDBhNnpaV3pscjk4ZApBUUZOaDh1S0prSUhkTFNoeStuVXllWnhjNWJOZU1wMUx1MGdTekU0TWNxZm1OTXZJcGVpd1dTWU85dzgyT2I4Cm90dlhjTzJKVVlpM3N2SElXUm0zKzcwN0RVYkw1MVhNY1kyaVpkbENxNFdhOW5idWszV1RVNGdyNkxZOE16VkEKYURRRzIrNFUzZUo2cVVGMTBiQm5SMXV1VnlEWXM5Umhyd3VjUlZuZnVEajI5Q01MVHNwbE01ZjV3U1Y1aFVwbQpVd3AvdlY3TTR3NGFHdW50NzRrb1g3MW40RWRhZ0NzTC9ZazUrbUFRVTArdHVlMEpPZkFWL1I2dDFrK1hrOXMyCkhNUUZlb3hwcGZ6QVZDMDRGZEc5TStBQzJKV3htRlN0NkJDdWgzQ0VleTNmRTUyUXJqOVlNNzVydHZJanNtLzEKSGwrdS8vV3F4bnUxWlE0anBhK1ZwdVppR09sV3JxU1A5ZW9nZE9oQ0dpc255ZXdXSndSUU9xSzE2d2lHeVplUgp4cy9CZWt3NjV2d1NJYVZrQnJ1UGlUZk1PbzBaaDRnVmE4L3FKZ01iSmJ5cnd3Rzk3ei9QUmdtTEtDRGw4ejNkCnRBMFo3cXE3ZnRhMEdsMjR1eXVCMDVkcUk1SjFMdkF6S3VXZElqVDF0UDhxQ294U0UveHBpeDhoWDJkdDNoKy8KanVqVWdGUEZaMEVWWjB4U3lCTlJGM01ib0dabllYRlV4cE5qVFdQS3BhZ0RISlFtcXJBY0RtV0puTXNGWTNqUwp1MWlndjNPZWZuV2pTUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "key": "LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUdhUVVSRTlpMUdMQTZCa1ExV0dTYWFSWFZUL25xVmZBaHR1cFRmRlVvQXlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFaUFHMUpiRTBTSTl1ZDk0eFhNakxsU3k3OWVMTXJ6VzYvU2NKTlB5V2IzeW9YSlQ3N0d6YQpMaEtNQWZ1WmVOL2R2QXMxQnRyUGg5aHZ6NXNTOXpPVlF3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=", + "Store": "default" } ] }