forked from coop-cloud/nextcloud
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			2.1.4+24.0
			...
			add-postgr
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ea48f6837c | |||
| dba042ff46 | |||
| 27e8e62675 | |||
| 559ca6a95c | 
@ -1,6 +1,6 @@
 | 
			
		||||
TYPE=nextcloud
 | 
			
		||||
 | 
			
		||||
DOMAIN={{ .Domain }}
 | 
			
		||||
DOMAIN=nextcloud.example.com
 | 
			
		||||
## Domain aliases
 | 
			
		||||
#EXTRA_DOMAINS=', `www.nextcloud.example.com`'
 | 
			
		||||
LETS_ENCRYPT_ENV=production
 | 
			
		||||
@ -16,6 +16,3 @@ 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,27 +166,3 @@ 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,7 +1,6 @@
 | 
			
		||||
export FPM_TUNE_VERSION=v4
 | 
			
		||||
export NGINX_CONF_VERSION=v4
 | 
			
		||||
export NGINX_CONF_VERSION=v2
 | 
			
		||||
export MY_CNF_VERSION=v4
 | 
			
		||||
export ENTRYPOINT_VERSION=v2
 | 
			
		||||
 | 
			
		||||
NC_APP_DIR="app:/var/www/html"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@ version: '3.8'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    entrypoint: "sh -c 'sleep 10 && /entrypoint.sh php-fpm'" # tries to mitigate this error with postgres https://github.com/nextcloud/docker/issues/1204
 | 
			
		||||
    environment:
 | 
			
		||||
      - POSTGRES_HOST=db
 | 
			
		||||
      - POSTGRES_DB=nextcloud
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								compose.yml
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								compose.yml
									
									
									
									
									
								
							@ -1,13 +1,11 @@
 | 
			
		||||
version: "3.8"
 | 
			
		||||
services:
 | 
			
		||||
  web:
 | 
			
		||||
    image: nginx:1.23.1
 | 
			
		||||
    image: nginx:1.20.0
 | 
			
		||||
    configs:
 | 
			
		||||
      - source: nginx_conf
 | 
			
		||||
        target: /etc/nginx/nginx.conf
 | 
			
		||||
    environment:
 | 
			
		||||
      - X_FRAME_OPTIONS_ALLOW_FROM
 | 
			
		||||
      - X_FRAME_OPTIONS_ENABLED
 | 
			
		||||
      - DOMAIN
 | 
			
		||||
      - STACK_NAME
 | 
			
		||||
    volumes:
 | 
			
		||||
@ -35,22 +33,16 @@ services:
 | 
			
		||||
        - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
 | 
			
		||||
 | 
			
		||||
  app:
 | 
			
		||||
    image: nextcloud:24.0.6-fpm
 | 
			
		||||
    image: nextcloud:23.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}
 | 
			
		||||
@ -77,12 +69,13 @@ services:
 | 
			
		||||
        failure_action: rollback
 | 
			
		||||
        order: start-first
 | 
			
		||||
      labels:
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=2.1.4+24.0.6-fpm"
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=2.0.0+23.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.6-fpm
 | 
			
		||||
    image: nextcloud:23.0.3-fpm
 | 
			
		||||
    volumes:
 | 
			
		||||
      - nextcloud:/var/www/html/
 | 
			
		||||
      - nextapps:/var/www/html/custom_apps:cached
 | 
			
		||||
@ -94,7 +87,7 @@ services:
 | 
			
		||||
    entrypoint: /cron.sh
 | 
			
		||||
 | 
			
		||||
  cache:
 | 
			
		||||
    image: redis:7.0.5-alpine
 | 
			
		||||
    image: redis:6.2.5-alpine
 | 
			
		||||
    networks:
 | 
			
		||||
      - internal
 | 
			
		||||
    volumes:
 | 
			
		||||
@ -118,7 +111,6 @@ volumes:
 | 
			
		||||
  nextconfig:
 | 
			
		||||
  redis:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
configs:
 | 
			
		||||
  nginx_conf:
 | 
			
		||||
    name: ${STACK_NAME}_nginx_${NGINX_CONF_VERSION}
 | 
			
		||||
@ -127,10 +119,6 @@ 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:
 | 
			
		||||
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
echo "Giving the db container some time to come up"; sleep 20
 | 
			
		||||
# see this issue with postgres db https://github.com/nextcloud/docker/issues/1204
 | 
			
		||||
 | 
			
		||||
{{ 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,7 +41,6 @@ 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;
 | 
			
		||||
@ -62,17 +61,11 @@ 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 Content-Security-Policy              "frame-ancestors {{ env "X_FRAME_OPTIONS_ALLOW_FROM" }} {{ env "DOMAIN" }}";
 | 
			
		||||
        {{ else }}
 | 
			
		||||
        add_header X-Frame-Options                      "SAMEORIGIN"    always;
 | 
			
		||||
        {{ end }}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # Remove X-Powered-By, which is an information leak
 | 
			
		||||
        fastcgi_hide_header X-Powered-By;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
2.0.0 introduces a minor nextcloud update to 23.0.4 and moves the database service to a seperate override.yml file to support different database types (mariadb / postgres). This might break your installation. Please add the following snippet to your config .env to ensure the right db is used:
 | 
			
		||||
2.0.0 introduces a minor nextcloud update to 23.0.3 and moves the database service to a seperate override.yml file to support different database types (mariadb / postgres). This might break your installation. Please add the following snippet to your config .env to ensure the right db is used:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
COMPOSE_FILE="compose.yml"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user