summaryrefslogtreecommitdiffhomepage
path: root/public/v2/apps/sshd.json
blob: 525016da01db105b4d2a0e8ef0aba45838cc79e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
    "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.",
    "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+$/"
        }
    ]
}