{
    "captainVersion": "2",
    "documentation": "Taken from https://filebrowser.xyz/installation#docker except moved the database to a directory to be able to associate with a volume",
    "displayName": "",
    "description": "filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files with supports for multi users.",
    "isOfficial": true,
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "dockerfileLines": [
                    "FROM alpine:latest as helper",
                    "# Similar to the original file, except, /database.db is inside a directory now so that we can assign a volume to it.",
                    "RUN echo \"{'port':80,'baseURL':'','address':'','log':'stdout','database':'/database/database.db','root':'/srv'}\" | sed \"s/\\'/\\\"/g\" >/.edited.json",
                    "FROM filebrowser/filebrowser:$$cap_filebrowser_version",
                    "COPY --from=helper /.edited.json /.filebrowser.json"
                ],
                "volumes": [
                    "$$cap_appname-database:/database",
                    "$$cap_appname-files:/srv"
                ],
                "restart": "always",
                "environment": {}
            }
        }
    },
    "instructions": {
        "start": "filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory.\n\n\nIMPORTANT:\nThe default image maps an empty volume to FileBrowser in order to avoid exposing your files, but after you finished installation and changed the password you can mount the root directory of host. i.e. / to /srv in the app.",
        "end": "Important! Read this and take a screenshot so you can refer to it!\n\nusername and password are both \"admin\".\n\nBy default, $$cap_appname-files volume, which is an empty directory, is mapped to your file browser content which is at /srv inside the app. To change this:\n\n1- Go to FileBrowser and change password to something else to avoid having your files exposed\n2- Go to CapRover > Apps > FileBrowser > App Config tab and change $$cap_appname-files to\n2a) some other volume name such as \"cap_name-myappvolume\" if you want to view the content of that volume\n2b) \"/some/existing/path/on/host\" if you want to view a specific path on the host.\n2c) \"/\" to view the entire content of your host!\n\n\nDon't change the \"/srv\" part of the mapping. \"/srv\" is the directory inside FileBrowser which is used to display content in FileBrowser."
    },
    "variables": [
        {
            "id": "$$cap_filebrowser_version",
            "label": "File Browser Version Tag",
            "description": "Check out their Docker page for the valid tags: https://hub.docker.com/r/filebrowser/filebrowser/tags",
            "defaultValue": "v2.0.16",
            "validRegex": "/^([^\\s^\\/])+$/"
        }
    ]
}
