{
    "captainVersion": "2",
    "documentation": "Taken from https://docs.docker.com/engine/examples/running_ssh_service/#build-an-eg_sshd-image ",
    "displayName": "SSH Container",
    "description": "Just a simple container that has sshd installed so you can SSH directly into this container.",
    "isOfficial": true,
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "dockerfileLines": [
                    "FROM ubuntu:16.04",
                    "RUN apt-get update && apt-get install -y openssh-server",
                    "RUN mkdir /var/run/sshd",
                    "RUN echo 'root:$$cap_sshd_password' | chpasswd",
                    "RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config",
                    "# SSH login fix. Otherwise user is kicked off after login",
                    "RUN sed 's@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd",
                    "ENV NOTVISIBLE \"in users profile\"",
                    "RUN echo \"export VISIBLE=now\" >> /etc/profile",
                    "EXPOSE 22",
                    "CMD [\"/usr/sbin/sshd\", \"-D\"]"
                ],
                "ports": ["$$cap_sshd_port:22"],
                "volumes": ["$$cap_appname-data:/data"],
                "restart": "always",
                "environment": {}
            }
        }
    },
    "instructions": {
        "start": "The following app sets up an SSHd service in a container that you can use to connect to and inspect other container’s volumes, or to get quick access to a test container.\n\n\nIMPORTANT:\nThis setup uses password login. You can optionally mount your keys and use public/private key to log in.",
        "end": "The container is built and deployed. You can now connect to this container from your local machine by running the following command: \n\n ssh root@IpAddressOfServer -p $$cap_sshd_port"
    },
    "variables": [
        {
            "id": "$$cap_sshd_password",
            "label": "Your SSH root password",
            "description": "Enter a secure password",
            "defaultValue": "pAsSwOrD",
            "validRegex": "/.{8,}/"
        },
        {
            "id": "$$cap_sshd_port",
            "label": "Your SSH exposed port",
            "description": "Enter a port number",
            "defaultValue": "4646",
            "validRegex": "/^\\d+$/"
        }
    ]
}
