diff --git a/public/v2/apps/sshd.json b/public/v2/apps/sshd.json new file mode 100644 index 0000000..525016d --- /dev/null +++ b/public/v2/apps/sshd.json @@ -0,0 +1,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+$/" + } + ] +} \ No newline at end of file diff --git a/public/v2/logos/sshd.png b/public/v2/logos/sshd.png new file mode 100644 index 0000000..147bd2f Binary files /dev/null and b/public/v2/logos/sshd.png differ