Here's a nextcloud docker compose for those who want nextcloud easy mode


<span style="color:#323232;">services:
</span><span style="color:#323232;">  db:
</span><span style="color:#323232;">    image: mariadb
</span><span style="color:#323232;">    restart: always
</span><span style="color:#323232;">    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
</span><span style="color:#323232;">    volumes:
</span><span style="color:#323232;">      - ./mysql:/var/lib/mysql
</span><span style="color:#323232;">    environment:
</span><span style="color:#323232;">      - MYSQL_PASSWORD=supersecretpassword
</span><span style="color:#323232;">      - MYSQL_DATABASE=nextclouddb
</span><span style="color:#323232;">      - MYSQL_USER=nextclouduser
</span><span style="color:#323232;">      - MYSQL_RANDOM_ROOT_PASSWORD='yes'
</span><span style="color:#323232;">
</span><span style="color:#323232;">  redis:
</span><span style="color:#323232;">
</span><span style="color:#323232;">    image: redis
</span><span style="color:#323232;">
</span><span style="color:#323232;">    restart: always
</span><span style="color:#323232;">
</span><span style="color:#323232;">    command: redis-server --requirepass supersecretpassword2
</span><span style="color:#323232;">
</span><span style="color:#323232;">  app:
</span><span style="color:#323232;">    image: nextcloud:27
</span><span style="color:#323232;">    restart: always
</span><span style="color:#323232;">    ports:
</span><span style="color:#323232;">      - 8080:80
</span><span style="color:#323232;">    links:
</span><span style="color:#323232;">      - db
</span><span style="color:#323232;">      - redis
</span><span style="color:#323232;">    volumes:
</span><span style="color:#323232;">      - ./html:/var/www/html
</span><span style="color:#323232;">    environment:
</span><span style="color:#323232;">      - MYSQL_PASSWORD=supersecretpassword
</span><span style="color:#323232;">      - MYSQL_DATABASE=nextclouddb
</span><span style="color:#323232;">      - MYSQL_USER=nextclouduser
</span><span style="color:#323232;">      - MYSQL_HOST=db
</span><span style="color:#323232;">      - REDIS_HOST_PASSWORD=supersecretpassword2
</span><span style="color:#323232;">    depends_on:
</span><span style="color:#323232;">      - db
</span><span style="color:#323232;">      - redis
</span><span style="color:#323232;">  cron:
</span><span style="color:#323232;">    image: nextcloud:27
</span><span style="color:#323232;">    restart: always
</span><span style="color:#323232;">    volumes:
</span><span style="color:#323232;">      - ./html:/var/www/html
</span><span style="color:#323232;">    entrypoint: /cron.sh
</span><span style="color:#323232;">    depends_on:
</span><span style="color:#323232;">      - db
</span>
rutrum ,
@rutrum@lm.paradisus.day avatar

First time I’m seeing cron as a separate service. That’s fascinating! I had to add cronjob to the host machine to get that to work. Can you explain more how that works? It kind of looks like you’re running two nextcloud containers? I could be mistaken.

doeknius_gloek ,
@doeknius_gloek@feddit.de avatar

Not OP but I’m doing almost the same thing in Kubernetes. Basically you start a Nextcloud container but only to run the cronjob, not Nextcloud itself. In my case, Kubernetes creates a new container for each cron execution. Apparently there’s also a cron.sh script already bundled with the Nextcloud image, that can run continously. At least OP doesn’t seem to mount the script from somewhere else.

possiblylinux127 OP ,
@possiblylinux127@lemmy.zip avatar

Yes, one runs the crown service and the other is the main service. All cron.sh does is sleep and then run the cron service repeatedly

sturlabragason ,
megaman ,

Thats my password!

DJArbz ,

Mine too!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • [email protected]
  • All magazines