version: '3.2' services: db: image: postgres:14.5 restart: always volumes: - ${PWD}/db:/var/lib/postgresql/data environment: - POSTGRES_DB_FILE=/run/secrets/postgres_db - POSTGRES_USER_FILE=/run/secrets/postgres_user - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password secrets: - postgres_db - postgres_password - postgres_user app: image: nextcloud:latest restart: always ports: - "${HOST}:8080:80" volumes: - ${PWD}/nextcloud:/var/www/html - /mnt/nextcloud_data:/var/www/html/data environment: - POSTGRES_HOST=db - POSTGRES_DB_FILE=/run/secrets/postgres_db - POSTGRES_USER_FILE=/run/secrets/postgres_user - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password - NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password - NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user depends_on: - db secrets: - nextcloud_admin_password - nextcloud_admin_user - postgres_db - postgres_password - postgres_user volumes: db: nextcloud: secrets: nextcloud_admin_password: file: /etc/secure_config/.nextcloud_admin_password.txt nextcloud_admin_user: file: /etc/secure_config/.nextcloud_admin_user.txt postgres_db: file: /etc/secure_config/.postgres_db.txt postgres_password: file: /etc/secure_config/.postgres_password.txt postgres_user: file: /etc/secure_config/.postgres_user.txt