https://github.com/axiom-data-science/rsync-server

A rsyncd/sshd server in Docker. You know, for moving files.

https://github.com/axiom-data-science/rsync-server

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

A rsyncd/sshd server in Docker. You know, for moving files.

Basic Info
  • Host: GitHub
  • Owner: axiom-data-science
  • Language: Shell
  • Default Branch: main
  • Homepage:
  • Size: 31.3 KB
Statistics
  • Stars: 58
  • Watchers: 9
  • Forks: 69
  • Open Issues: 0
  • Releases: 0
Archived
Created about 10 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

THIS PROJECT IS UNMAINTAINED AND ARCHIVED. USE AT YOUR OWN RISK.

rsync-server

A rsyncd/sshd server in Docker. You know, for moving files.

Quickstart

Start a server (both sshd and rsyncd are supported)

shell docker run \ --name rsync-server \ -p 8000:873 \ -p 9000:22 \ -e USERNAME=user \ -e PASSWORD=someSecurePassword_NOT_THIS \ -v /your/public.key:/root/.ssh/authorized_keys \ axiom/rsync-server:latest

You must set a password via PASSWORD or PASSWORD_FILE, even if you are using key authentication.

rsyncd

Please note that /volume is the rsync volume pointing to /data. The data will be at /data in the container. Use the VOLUME parameter to change the destination path in the container. Even when changing VOLUME, you will still rsync to /volume.

```shell rsync -av /your/folder/ rsync://user@localhost:8000/volume Password: pass

sending incremental file list ./ foo/ foo/bar/ foo/bar/hi.txt

sent 166 bytes received 39 bytes 136.67 bytes/sec total size is 0 speedup is 0.00 ```

sshd

Please note that you are connecting as the root and not the user specified in the USERNAME variable. If you don't supply a key file you will be prompted for the PASSWORD.

```shell rsync -av -e "ssh -i /your/private.key -p 9000 -l root" /your/folder/ localhost:/data

sending incremental file list ./ foo/ foo/bar/ foo/bar/hi.txt

sent 166 bytes received 31 bytes 131.33 bytes/sec total size is 0 speedup is 0.00 ```

Usage

Variable options (on run)

| Parameter | Function | | :---------------: | -------- | | USERNAME | the rsync username. defaults to user| | PASSWORD | the rsync password. One of PASSWORD or PASSWORD_FILE is required.| | PASSWORD_FILE | path to a file containing the rsync password. One of PASSWORD or PASSWORD_FILE is required.| | AUTHORIZED_KEYS | the ssh key (for root user). defaults empty | | VOLUME | the path for rsync. defaults to /data| | PUID | UserID used to transfer files when running the rsync . defaults to root| | GUID | GroupID used to transfer files when running the rsync . defaults to root| | DENY | space separated list of allowed sources. defaults to *| | ALLOW | space separated list of allowed sources. defaults to 10.0.0.0/8 192.168.0.0/16 172.16.0.0/12 127.0.0.1/32.| | RO | rsync volume read only. defaults to false| | CUSTOMCONFIG | rsyncd.conf custom config for subsection volume (\n\t for new line ex: uid = root\n\tgid = root). defaults empty |

Simple server on port 873

shell docker run -p 873:873 -e PASSWORD=changeme axiom/rsync-server:latest

Use a volume for the default /data

shell docker run -p 873:873 -e PASSWORD=seriouslychangeme -v /your/folder:/data axiom/rsync-server:latest

Set a username and password

shell docker run \ -p 873:873 \ -v /your/folder:/data \ -e USERNAME=admin \ -e PASSWORD=imnotkidding \ axiom/rsync-server:latest

Set password via file

shell docker run \ -p 873:873 \ -v /your/folder:/data \ -v ./password-file-with-secure-permissions:/etc/rsyncd/password:ro \ -e USERNAME=admin \ -e PASSWORD_FILE=/etc/rsyncd/password \ axiom/rsync-server:latest

Run on a custom port

shell docker run \ -p 9999:873 \ -v /your/folder:/data \ -e USERNAME=admin \ -e PASSWORD=plzchng \ axiom/rsync-server:latest

```shell rsync rsync://admin@localhost:9999

volume /data directory ```

Modify the default volume location

shell docker run \ -p 9999:873 \ -v /your/folder:/myvolume \ -e USERNAME=admin \ -e PASSWORD=yougetitnow \ -e VOLUME=/myvolume \ axiom/rsync-server:latest

```shell rsync rsync://admin@localhost:9999

volume /myvolume directory ```

Allow specific client IPs

shell docker run \ -p 9999:873 \ -v /your/folder:/myvolume \ -e USERNAME=admin \ -e PASSWORD=hopesoanyway \ -e VOLUME=/myvolume \ -e ALLOW=192.168.24.0/24 \ axiom/rsync-server:latest

Over SSH

If you would like to connect over ssh, you may mount your public key or authorized_keys file to /root/.ssh/authorized_keys. This file must have owner root, group root, and 400 octal permissions.

Alternatively, you may specify the AUTHORIZED_KEYS environment variable.

Without setting up an authorized_keys file, you will be propted for the password (which was specified in the PASSWORD variable).

Please note that when using sshd you will be specifying the actual folder destination as you would when using SSH. On the contrary, when using the rsyncd daemon, you will always be using /volume, which maps to VOLUME inside of the container.

shell docker run \ -v /your/folder:/myvolume \ -e USERNAME=admin \ -e PASSWORD=2manyp455w0rd5 \ -e VOLUME=/myvolume \ -e ALLOW=10.0.0.0/8 192.168.0.0/16 172.16.0.0/12 127.0.0.1/32 \ -v /my/authorized_keys:/root/.ssh/authorized_keys \ -p 9000:22 \ axiom/rsync-server:latest

shell rsync -av -e "ssh -i /your/private.key -p 9000 -l root" /your/folder/ localhost:/data

Owner

  • Name: Axiom Data Science
  • Login: axiom-data-science
  • Kind: organization
  • Location: United States

GitHub Events

Total
  • Issues event: 2
  • Watch event: 6
  • Issue comment event: 3
  • Push event: 1
  • Fork event: 9
Last Year
  • Issues event: 2
  • Watch event: 6
  • Issue comment event: 3
  • Push event: 1
  • Fork event: 9

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: about 1 month
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: about 1 month
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gamegine (1)
  • ahjulstad (1)
  • jeroenst (1)
  • dperez-sct (1)
  • romulus-ai (1)
  • zentron (1)
Pull Request Authors
  • srstsavage (3)
  • jeroenst (2)
  • gamegine (1)
  • zentron (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Dockerfile docker
  • debian buster build
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
  • peter-evans/dockerhub-description v4 composite