captainVersion: 4
services:
    # Duplicati
    $$cap_appname:
        image: linuxserver/duplicati:$$cap_duplicati_version
        environment:
            TZ: $$cap_tz
            PUID: $$cap_puid
            PGID: $$cap_guid
            CLI_ARGS: $$cap_cli_args
        volumes:
            - $$cap_appname-config:/config # Contains all relevant configuration files.
            - $$cap_localpath:/backups # Path to store local backups.
            - $$cap_sourcepath:/source # Path to source for files to backup.
        caproverExtra:
            containerHttpPort: '8200'
caproverOneClickApp:
    variables:
        - id: $$cap_tz
          label: Timezone
          description: Specify a timezone to use EG Europe/London, find yours at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          defaultValue: Europe/Brussels
        - id: $$cap_duplicati_version
          label: Version Tag
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/linuxserver/duplicati/tags
          defaultValue: 'version-v2.0.5.1-2.0.5.1_beta_2020-01-18'
        - id: $$cap_puid
          label: User ID
          defaultValue: '1000'
          description: User ID that the process uses, run (id $user) in your instance to see the id
          validRegex: /.{1,}/
        - id: $$cap_guid
          label: Group ID
          defaultValue: '1000'
          description: Group ID that the process uses, run (id $user) in your instance to see the id
          validRegex: /.{1,}/
        - id: $$cap_localpath
          label: Path to store local backups.
        - id: $$cap_sourcepath
          label: Path to source for files to backup.
          description: 'eg: /var/lib/docker/volumes or just / So you can select the folders you want to backup'
        - id: $$cap_cli_args
          label: Command line arguments
          description: Optionally specify any CLI variables you want to launch the app with, see https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/
    instructions:
        start: |-
            Duplicati works with standard protocols like FTP, SSH, WebDAV as well as popular services like Microsoft OneDrive, Amazon Cloud Drive & S3, Google Drive, box.com, Mega, hubiC and many others.
        end: |-
            Aaaand you're done! 😄
            Your service is available at http://$$cap_appname.$$cap_root_domain
    displayName: Duplicati
    isOfficial: true
    description: Free backup software to store encrypted backups online For Windows, macOS and Linux
    documentation: https://docs.linuxserver.io/images/docker-duplicati
