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: - "100.104.163.2: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 # put admin password in this file nextcloud_admin_user: file: /etc/secure_config/.nextcloud_admin_user.txt # put admin username in this file postgres_db: file: /etc/secure_config/.postgres_db.txt # put postgresql db name in this file postgres_password: file: /etc/secure_config/.postgres_password.txt # put postgresql password in this file postgres_user: file: /etc/secure_config/.postgres_user.txt # put postgresql username in this file