diff --git a/.gitignore b/.gitignore index 15b0752..3b6992c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /data/app /backup nextcloud.conf +db.env +cloud.env diff --git a/cloud.env.example b/cloud.env.example new file mode 100644 index 0000000..31c726c --- /dev/null +++ b/cloud.env.example @@ -0,0 +1,2 @@ +# admin user password +NEXTCLOUD_ADMIN_PASSWORD=changeme diff --git a/docker-compose.yml b/docker-compose.yml index 416684d..6c5373d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,41 +1,36 @@ -version: '2.2' +version: '3' services: nextcloud-app: - #build: ./docker/app - image: pgollor/nextcloud:app-dev-latest + build: ./docker/app + #image: pgollor/nextcloud:app-dev-latest restart: always - mem_limit: 512m cpus: 1.5 depends_on: - nextcloud-database - nextcloud-redis + env_file: + - db.env + - cloud.env environment: - - MYSQL_HOST=mysql + - MYSQL_HOST=nextcloud-database - MYSQL_DATABASE=cloud - MYSQL_USER=cloud - - MYSQL_PASSWORD=${NEXTCLOUD_DATABASE_PASSWORD} - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - NEXTCLOUD_DATA_DIR=/srv/data - - REDIS_HOST=redis + - REDIS_HOST=nextcloudnextcloud-redis - TZ=${TZ} tmpfs: - /tmp volumes: - ./data/app:/var/www/html - ./data/data:/srv/data - networks: - nextcloud-network: - ipv4_address: ${NEXTCLOUD_IPV4_NETWORK:-172.22.5}.100 - aliases: - - app + - ./data/conf/net.conf:/etc/sane.d/net.conf:ro nextcloud-web: #build: ./docker/web image: pgollor/nextcloud:web-latest restart: always - mem_limit: 512m logging: driver: json-file ports: @@ -44,51 +39,32 @@ - ./data/app:/var/www/html:ro depends_on: - nextcloud-app - networks: - nextcloud-network: - ipv4_address: ${NEXTCLOUD_IPV4_NETWORK:-172.22.5}.101 - aliases: - - web nextcloud-database: image: mariadb restart: always - mem_limit: 1g command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW environment: - - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DATABASE_ROOT} - MYSQL_DATABASE=cloud - MYSQL_USER=cloud - - MYSQL_PASSWORD=${NEXTCLOUD_DATABASE_PASSWORD} + env_file: + - db.env volumes: - nextcloud-db-vol-1:/var/lib/mysql/ - ./data/conf/mysql:/etc/mysql/conf.d/:ro tmpfs: - /tmp - networks: - nextcloud-network: - ipv4_address: ${NEXTCLOUD_IPV4_NETWORK:-172.22.5}.102 - aliases: - - mysql nextcloud-redis: - mem_limit: 1g image: redis:alpine restart: always - networks: - nextcloud-network: - aliases: - - redis nextcloud-cron: - #build: ./docker/app - image: pgollor/nextcloud:app-latest + image: nextcloud:fpm-alpine restart: always volumes: - ./data/app:/var/www/html - ./data/data:/srv/data - #user: www-data - mem_limit: 256m logging: driver: json-file entrypoint: /cron.sh @@ -108,17 +84,6 @@ depends_on: - nextcloud-database - nextcloud-redis - networks: - nextcloud-network: - -networks: - nextcloud-network: - driver: bridge - enable_ipv6: false - ipam: - driver: default - config: - - subnet: ${NEXTCLOUD_IPV4_NETWORK:-172.22.5}.0/24 volumes: nextcloud-db-vol-1: diff --git a/docker/app/Dockerfile b/docker/app/Dockerfile index 58392d3..5350bc6 100644 --- a/docker/app/Dockerfile +++ b/docker/app/Dockerfile @@ -1,4 +1,4 @@ -FROM nextcloud:19-rc-fpm +FROM nextcloud:fpm ARG NV ARG VCS_REF @@ -12,7 +12,10 @@ libgmp3-dev \ smbclient libsmbclient-dev \ libbz2-dev \ - libmagickcore-6.q16-6-extra + libmagickcore-6.q16-6-extra \ + sane-utils \ + netpbm \ + ocrmypdf RUN apt-get clean && rm -rf /var/lib/apt/lists/* RUN pecl install \ smbclient diff --git a/generate_password.sh b/generate_password.sh index 7ff8759..b7a0433 100755 --- a/generate_password.sh +++ b/generate_password.sh @@ -1,15 +1,23 @@ #!/bin/bash -if [ ! -f "nextcloud.conf" ]; then - cp nextcloud.conf.example nextcloud.conf +if [ ! -f "db.conf" ]; then + cp db.conf.example db.conf pw1=$(