forked from coop-cloud/nextcloud
		
	Compare commits
	
		
			6 Commits
		
	
	
		
			auto_confi
			...
			embed_next
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e8a8f636d0 | |||
| daa57eece9 | |||
| 2ddf11728f | |||
| 71d15ef4df | |||
| 0d4f060e94 | |||
| 1e1977a2b4 | 
| @ -16,3 +16,6 @@ SECRET_DB_PASSWORD_VERSION=v1 | ||||
| SECRET_ADMIN_PASSWORD_VERSION=v1 | ||||
|  | ||||
| EXTRA_VOLUME=/dev/null:/tmp/.dummy | ||||
|  | ||||
| # X_FRAME_OPTIONS_ENABLED=1 | ||||
| # X_FRAME_OPTIONS_ALLOW_FROM=embedding-site.example.org | ||||
|  | ||||
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
								
							| @ -166,3 +166,27 @@ Here is an example CSS config which hides the local login and makes space for a | ||||
| [nextcloud-docker]: https://hub.docker.com/_/nextcloud/ | ||||
| [`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra | ||||
| [`coop-cloud/traefik`]: https://git.autonomic.zone/coop-cloud/traefik | ||||
|  | ||||
| ## Using [`previewgenerator`](https://github.com/nextcloud/previewgenerator) app | ||||
|  | ||||
| > Beware, this appp has been known to not work... | ||||
|  | ||||
| After you install, enable etc. then you need to run the generation (**warning**: it can take a long time!): | ||||
|  | ||||
| ``` | ||||
| abra app run <domain> app bash -u www-data | ||||
| ./occ preview:generate-all | ||||
| ``` | ||||
|  | ||||
| To set up the cron to run again, there is [no clear solution in the context of | ||||
| containers](https://github.com/nextcloud/previewgenerator/issues/1). So, a | ||||
| pretty dodgy hack is to run it from the system directly: | ||||
|  | ||||
| ``` | ||||
| root@foo.com /etc/cron.hourly $ cat foo-com-preview-generate  | ||||
| #!/bin/bash | ||||
|  | ||||
| docker exec -u www-data $(docker ps -f name=foo_com_app -q) ./occ preview:pre-generate | ||||
| ``` | ||||
|  | ||||
| This app will improve performance of image browsing at the cost of storage space. | ||||
|  | ||||
							
								
								
									
										3
									
								
								abra.sh
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								abra.sh
									
									
									
									
									
								
							| @ -1,6 +1,7 @@ | ||||
| export FPM_TUNE_VERSION=v4 | ||||
| export NGINX_CONF_VERSION=v2 | ||||
| export NGINX_CONF_VERSION=v3 | ||||
| export MY_CNF_VERSION=v4 | ||||
| export ENTRYPOINT_VERSION=v1 | ||||
|  | ||||
| NC_APP_DIR="app:/var/www/html" | ||||
|  | ||||
|  | ||||
							
								
								
									
										24
									
								
								compose.yml
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								compose.yml
									
									
									
									
									
								
							| @ -1,11 +1,13 @@ | ||||
| version: "3.8" | ||||
| services: | ||||
|   web: | ||||
|     image: nginx:1.21.6 | ||||
|     image: nginx:1.23.1 | ||||
|     configs: | ||||
|       - source: nginx_conf | ||||
|         target: /etc/nginx/nginx.conf | ||||
|     environment: | ||||
|       - X_FRAME_OPTIONS_ALLOW_FROM | ||||
|       - X_FRAME_OPTIONS_ENABLED | ||||
|       - DOMAIN | ||||
|       - STACK_NAME | ||||
|     volumes: | ||||
| @ -33,16 +35,22 @@ services: | ||||
|         - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" | ||||
|  | ||||
|   app: | ||||
|     image: nextcloud:24.0.0-fpm | ||||
|     image: nextcloud:24.0.3-fpm | ||||
|     depends_on: | ||||
|       - db | ||||
|     configs: | ||||
|       - source: fpm_tune | ||||
|         target: /usr/local/etc/php-fpm.d/fpm-tune.conf | ||||
|       - source: entrypoint | ||||
|         target: /custom-entrypoint.sh | ||||
|         mode: 555 | ||||
|     entrypoint: /custom-entrypoint.sh | ||||
|     secrets: | ||||
|       - db_password | ||||
|       - admin_password | ||||
|     environment: | ||||
|       - X_FRAME_OPTIONS_ALLOW_FROM | ||||
|       - X_FRAME_OPTIONS_ENABLED | ||||
|       - DOMAIN | ||||
|       - STACK_NAME | ||||
|       - NEXTCLOUD_ADMIN_USER=${ADMIN_USER} | ||||
| @ -69,13 +77,12 @@ services: | ||||
|         failure_action: rollback | ||||
|         order: start-first | ||||
|       labels: | ||||
|         - "coop-cloud.${STACK_NAME}.version=2.1.0+24.0.0-fpm" | ||||
|         - "coop-cloud.${STACK_NAME}.version=2.1.2+24.0.3-fpm" | ||||
|         - "backupbot.backup=true" | ||||
|         - "backupbot.backup.path=/var/www/html/config/,/var/www/html/data/,/var/www/html/custom_apps/" | ||||
|  | ||||
|  | ||||
|   cron: | ||||
|     image: nextcloud:24.0.0-fpm | ||||
|     image: nextcloud:24.0.3-fpm | ||||
|     volumes: | ||||
|       - nextcloud:/var/www/html/ | ||||
|       - nextapps:/var/www/html/custom_apps:cached | ||||
| @ -87,7 +94,7 @@ services: | ||||
|     entrypoint: /cron.sh | ||||
|  | ||||
|   cache: | ||||
|     image: redis:7.0.0-alpine | ||||
|     image: redis:7.0.4-alpine | ||||
|     networks: | ||||
|       - internal | ||||
|     volumes: | ||||
| @ -111,6 +118,7 @@ volumes: | ||||
|   nextconfig: | ||||
|   redis: | ||||
|  | ||||
|  | ||||
| configs: | ||||
|   nginx_conf: | ||||
|     name: ${STACK_NAME}_nginx_${NGINX_CONF_VERSION} | ||||
| @ -119,6 +127,10 @@ configs: | ||||
|   fpm_tune: | ||||
|     name: ${STACK_NAME}_fpm_tune_${FPM_TUNE_VERSION} | ||||
|     file: fpm-tune.ini | ||||
|   entrypoint: | ||||
|     name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION} | ||||
|     file: entrypoint.sh.tmpl | ||||
|     template_driver: golang | ||||
|  | ||||
| networks: | ||||
|   proxy: | ||||
|  | ||||
							
								
								
									
										9
									
								
								entrypoint.sh.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								entrypoint.sh.tmpl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| {{ if eq (env "X_FRAME_OPTIONS_ENABLED") "1" }} | ||||
| if ! [[ $(grep {{ env "X_FRAME_OPTIONS_ALLOW_FROM" }} lib/public/AppFramework/Http/ContentSecurityPolicy.php) ]]; then | ||||
|     sed -i "91 a\\\t\t'{{ env "X_FRAME_OPTIONS_ALLOW_FROM" }}', " lib/public/AppFramework/Http/ContentSecurityPolicy.php | ||||
| fi | ||||
| {{ end }} | ||||
|  | ||||
| /entrypoint.sh php-fpm | ||||
| @ -41,6 +41,7 @@ http { | ||||
|         # could take several months. | ||||
|         #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; | ||||
|  | ||||
|  | ||||
|         # set max upload size | ||||
|         client_max_body_size 512M; | ||||
|         fastcgi_buffers 64 4K; | ||||
| @ -61,11 +62,18 @@ http { | ||||
|         add_header Referrer-Policy                      "no-referrer"   always; | ||||
|         add_header X-Content-Type-Options               "nosniff"       always; | ||||
|         add_header X-Download-Options                   "noopen"        always; | ||||
|         add_header X-Frame-Options                      "SAMEORIGIN"    always; | ||||
|         add_header X-Permitted-Cross-Domain-Policies    "none"          always; | ||||
|         add_header X-Robots-Tag                         "none"          always; | ||||
|         add_header X-XSS-Protection                     "1; mode=block" always; | ||||
|  | ||||
|         {{ if eq (env "X_FRAME_OPTIONS_ENABLED") "1" }} | ||||
|         add_header X-Frame-Options                      "{{ env "X_FRAME_OPTIONS_ALLOW_FROM" }}"    always; | ||||
|         add_header Content-Security-Policy              "frame-ancestors {{ env "X_FRAME_OPTIONS_ALLOW_FROM" }}"; | ||||
|         {{ else }} | ||||
|         add_header X-Frame-Options                      "SAMEORIGIN"    always; | ||||
|         {{ end }} | ||||
|  | ||||
|  | ||||
|         # Remove X-Powered-By, which is an information leak | ||||
|         fastcgi_hide_header X-Powered-By; | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user