Rsync/CGI server for adaptive purposes
Go to file
dave 83e4244059 support ssh authorized keys 2018-10-07 15:21:44 -07:00
examples/cgi-scripts example updates 2018-10-07 14:07:20 -07:00
scripts/nexus example updates 2018-10-07 14:07:20 -07:00
.gitignore Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
Dockerfile support ssh authorized keys 2018-10-07 15:21:44 -07:00
README.md support ssh authorized keys 2018-10-07 15:21:44 -07:00
clear-sockets Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
default bionic upgrade, make image more generic 2018-10-07 13:50:47 -07:00
dir-setup bionic upgrade, make image more generic 2018-10-07 13:50:47 -07:00
fastcgi_params bionic upgrade, make image more generic 2018-10-07 13:50:47 -07:00
gen-ssh bionic upgrade, make image more generic 2018-10-07 13:50:47 -07:00
nginx.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
start Exec supervisord 2017-04-22 15:37:01 -07:00
supervisor-cron.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
supervisor-fcgiwrap.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
supervisor-nginx.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
supervisor-sshd.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 2015-12-26 14:01:50 -08:00
supervisor.conf Remove base image dependency 2015-09-07 23:33:32 -07:00

README.md

docker-nexus

A nginx + cgi + sshd server for prototyping services or data hubs.

Quick start

  • Clone: git clone ssh://git@git.davepedu.com:222/dave/docker-nexus.git
  • Build: cd docker-nexus ; docker build -t nexus .
  • Run: docker run nexus

Usage

Nexus offers a couple services:

SSHD

For shell related activities, an sshd daemon runs on the standard port. Username and password, by default, is nexus.

Mount /data/keys to persist host keys. Ssh public keys in /data/nexus_authorized_keys will be authorized for the nexus user.

Nginx

For accessing data or calling CGI scripts via nginx on port 80.

The document root is /data/data/.

CGI

CGI scripts can be placed in /data/scripts/. Some sample scripts exist in ./examples/cgi-scripts/.

The library in scripts/nexus/cgi.py can be imported like:

>>> from nexus.cgi import *
>>> start_response()
Status: 200 OK
Content-Type: text/html

>>>

Cron

Cron is present in the container. Place tabs in /etc/cron.d.

Protips

  • Drop executable scripts into /startup.d/ for startup tasks
  • Persistance - mount /data/ somewhere persistent.

TODO

  • Allow ssh password to be set by passing an env var
  • More sample CGI scripts