Comment on Reproducible alternatives to nextcloud?

<- View Parent
null@lemmynsfw.com ⁨1⁩ ⁨day⁩ ago

Yes you can use docker-compose which spines up all your necessary container connects them with an internal network and most of your stuff has been setup.

Then you but all your configurations in a git repository and you have a all your container under version control.

This is a slightly modified version of mine:

Not in this, but maybe relevant

---
networks:
  default:
    driver: bridge
  traefik_proxy:
    external: true
    name: traefik_proxy
services:
  nextcloud-app:
    container_name: nextcloud-app
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    environment:
      - TZ=Europe/Berlin
      - POSTGRES_HOST=nextcloud-db
      - POSTGRES_PASSWORD=nextcloud
      - POSTGRES_DATABASE=nextPosPw
      - POSTGRES_USER=nextcloud
      - REDIS_HOST=nextcloud-redis
      - REDIS_HOST_PASSWORD=nextRedPw
    image: nextcloud:32
    labels:
      - container-hosts.enable=true
      - container-hosts=${NEXTCLOUD_URL}
      - traefik.enable=true
      - traefik.http.routers.nextcloud.entrypoints=web-secure
      - traefik.http.routers.nextcloud.rule=Host(`${NEXTCLOUD_URL}`)
      - traefik.http.routers.nextcloud.tls=true
      - traefik.http.routers.nextcloud.middlewares=nextcloud-chain@docker
      - traefik.http.middlewares.nextcloud-chain.chain.middlewares=nextcloud-redirect@docker,secHeaders@file
      - traefik.http.middlewares.nextcloud-redirect.redirectregex.regex=^https://(.*)/.well-known/(card|cal)dav
      - traefik.http.middlewares.nextcloud-redirect.redirectregex.replacement=https://$$1/remote.php/dav/
      - traefik.http.services.nextcloud.loadbalancer.server.port=80
    networks:
      - traefik_proxy
      - default
    restart: always
    volumes:
      - /opt/backup/docker/nextcloud/html/data:/var/www/html/data
      - ./data/config:/var/www/html/config
      - /opt/backup/docker/syncthing/data:/syncthing
  nextcloud-cron:
    container_name: nextcloud-cron
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    entrypoint: /cron.sh
    environment:
      - TZ=Europe/Berlin
    image: nextcloud:32
    networks:
      - default
    restart: always
    volumes:
      - /opt/backup/docker/nextcloud/html/data:/var/www/html/data
      - ./data/config:/var/www/html/config
      - /opt/backup/docker/syncthing/data:/syncthing
  nextcloud-db:
    container_name: nextcloud-db
    environment:
      - TZ=Europe/Berlin
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=nextPosPw
      - POSTGRES_DB=nextcloud
    image: postgres:17-alpine
    networks:
      - default
    restart: always
    volumes:
      - /opt/backup/docker/nextcloud/postgresql:/var/lib/postgresql/data
  nextcloud-redis:
    command: valkey-server --requirepass nextRedPw --save 30 1 --loglevel warning
    container_name: nextcloud-redis
    environment:
      - TZ=Europe/Berlin
    image: docker.io/valkey/valkey:8-alpine
    networks:
      - default
    restart: always
    volumes:
      - redis_data:/data
volumes:
  redis_data:
...

PS: I don’t want to use any fancy clicky app, because over the last years I had so often problems with updates of these clicky apps and this version is straight forward for all my containers.

source
Sort:hotnewtop