Rsync/CGI server for adaptive purposes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
dave 83e4244059 support ssh authorized keys 2 years ago
examples/cgi-scripts example updates 2 years ago
scripts/nexus example updates 2 years ago
.gitignore Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
Dockerfile support ssh authorized keys 2 years ago
README.md support ssh authorized keys 2 years ago
clear-sockets Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
default bionic upgrade, make image more generic 2 years ago
dir-setup bionic upgrade, make image more generic 2 years ago
fastcgi_params bionic upgrade, make image more generic 2 years ago
gen-ssh bionic upgrade, make image more generic 2 years ago
nginx.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
start Exec supervisord 3 years ago
supervisor-cron.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
supervisor-fcgiwrap.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
supervisor-nginx.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
supervisor-sshd.conf Add better docs and comments, complete configs, change nginx & cgi user to nexus, add example scripts 4 years ago
supervisor.conf Remove base image dependency 5 years ago

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