services: nextcloud-app: #build: ./docker/app image: pgollor/nextcloud:app-stable restart: always depends_on: - nextcloud-database - nextcloud-redis environment: - MYSQL_HOST=mysql - 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 - 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 nextcloud-web: #build: ./docker/web image: pgollor/nextcloud:web-latest restart: always logging: driver: json-file ports: - "${NEXTCLOUD_WEB_BIND:-127.0.0.1}:${NEXTCLOUD_WEB_PORT:-8080}:80" volumes: - ./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:10.6 restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW environment: - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DATABASE_ROOT} - MYSQL_DATABASE=cloud - MYSQL_USER=cloud - MYSQL_PASSWORD=${NEXTCLOUD_DATABASE_PASSWORD} 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: image: redis:alpine restart: always networks: nextcloud-network: aliases: - redis nextcloud-cron: #build: ./docker/app image: pgollor/nextcloud:app-stable restart: always volumes: - ./data/app:/var/www/html - ./data/data:/srv/data logging: driver: json-file entrypoint: /cron.sh 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: