Browse Source

docker-compose: move rsync-sshd to new examples/rsync-sshd/docker-compose.yml

Fabian Peter Hammerle 5 years ago
parent
commit
ad8ee62754
3 changed files with 44 additions and 18 deletions
  1. 8 1
      README.md
  2. 0 17
      docker-compose.yml
  3. 36 0
      examples/rsync-sshd/docker-compose.yml

+ 8 - 1
README.md

@@ -13,7 +13,10 @@ docker run --rm --device /dev/fuse \
 
 Optionally add `--network none`
 
-Or simply run `docker-compose up`
+## Docker Compose 🐙
+
+1. Adapt paths in [docker-compose.yml](docker-compose.yml)
+2. `docker-compose up`
 
 ## Password
 
@@ -28,3 +31,7 @@ Add `-v /somewhere:/encrypted:shared` to mount the encrypted view of `/plain/*`
 You may need to disable user namespace remapping for containers
 (dockerd option `--userns-remap`)
 due to https://github.com/moby/moby/issues/36472 .
+
+## Serve encrypted data via rsync ssh server
+
+See [examples/rsync-sshd](examples/rsync-sshd/docker-compose.yml)

+ 0 - 17
docker-compose.yml

@@ -3,7 +3,6 @@ version: '2'
 volumes:
   plain_data:
   encfs_password:
-  sshd_host_keys:
 
 services:
   encfs:
@@ -12,26 +11,10 @@ services:
     volumes:
     - plain_data:/plain/data:ro
     - encfs_password:/secret
-    # TODO replace host path with named volume
-    # [...] the local driver accepts mount options as a comma-separated list in the o parameter.
-    # https://docs.docker.com/storage/volumes/
-    #
-    # update 2019-03-27: adding 'shared' to volumes.*.driver_opts.o did not suffice.
-    # got inspired by https://github.com/docker/compose/issues/2957#issuecomment-403175803
     - /mnt/encrypted:/encrypted:shared
     networks: []
     devices: [/dev/fuse]
     cap_add: [SYS_ADMIN]
     security_opt: ['apparmor:unconfined']
-  rsync_sshd:
-    image: fphammerle/rsync-sshd:0.1-amd64
-    environment:
-      USERS: alice
-    volumes:
-    - /mnt/encrypted:/data:slave,ro
-    - sshd_host_keys:/etc/ssh/host_keys
-    - ~/.ssh/authorized_keys:/home/alice/.ssh/authorized_keys:ro
-    ports: ['127.0.0.1:2022:22']
-    # rsync -av --rsh='ssh -p 2022' alice@localhost:/ encrypted
 
 # https://docs.docker.com/compose/compose-file/compose-file-v2/

+ 36 - 0
examples/rsync-sshd/docker-compose.yml

@@ -0,0 +1,36 @@
+version: '2'
+
+volumes:
+  plain_data:
+  encfs_password:
+  sshd_host_keys:
+
+services:
+  encfs:
+    image: fphammerle/reverse-encfs:0.1-encfs1.9.5
+    volumes:
+    - plain_data:/plain/data:ro
+    - encfs_password:/secret
+    # TODO replace host path with named volume
+    # [...] the local driver accepts mount options as a comma-separated list in the o parameter.
+    # https://docs.docker.com/storage/volumes/
+    #
+    # update 2019-03-27: adding 'shared' to volumes.*.driver_opts.o did not suffice.
+    # got inspired by https://github.com/docker/compose/issues/2957#issuecomment-403175803
+    - /mnt/encrypted:/encrypted:shared
+    networks: []
+    devices: [/dev/fuse]
+    cap_add: [SYS_ADMIN]
+    security_opt: ['apparmor:unconfined']
+  rsync_sshd:
+    image: fphammerle/rsync-sshd:0.1-amd64
+    environment:
+      USERS: alice
+    volumes:
+    - /mnt/encrypted:/data:slave,ro
+    - sshd_host_keys:/etc/ssh/host_keys
+    - ~/.ssh/authorized_keys:/home/alice/.ssh/authorized_keys:ro
+    ports: ['127.0.0.1:2022:22']
+    # rsync -av --rsh='ssh -p 2022' alice@localhost:/ encrypted
+
+# https://docs.docker.com/compose/compose-file/compose-file-v2/