Bind Mount Configuration

The cluster primarily uses bind mounts for persistent storage, providing direct filesystem access and simplified backup procedures.

Standard Bind Mount Pattern:

volumes:
  service_data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /mnt/swarm-data/service-name/data

Advantages of Bind Mounts:

  • Direct filesystem access for backups
  • Easy migration and maintenance
  • Consistent storage location across services
  • No Docker volume namespace conflicts

Named Volume Usage

Service-Specific Named Volumes:

  • auth_authentik_media: Authentik media files
  • auth_authentik_custom_templates: Custom templates
  • auth_authentik_redis: Redis persistence
  • postgresql17_master_db_data: PostgreSQL database
  • mariadb_bookstack_db: MariaDB database
  • nextcloud_nextcloud_data: Nextcloud files
  • paperless_paperless_data: Document storage
  • paperless_paperless_media: Media files
  • paperless_paperless_export: Export directory
  • traefik_traefik_certificates: SSL certificates
  • uptime_uptime_kuma_data: Monitoring data
  • portainer_portainer_data: Container management

Anonymous Volume Handling

Temporary Data Volumes:

  • Redis containers use anonymous volumes for ephemeral data
  • Automatically cleaned during container removal
  • No persistence required for cache data

Examples:

# Anonymous volumes identified by hash
7a407a4642cd87951fa6924d25ea3e07e163f8f298e9e889cf485379178ac460
a3710bf45eee14bf5a9d8e7bf51df9938a121ef229d54acaa6fda2f7ab9f0993