Public | Automated Build

Last pushed: 2 years ago
Short Description
forked from murf0/docker-s3ql
Full Description

s3ql docker image

Based on:

Using it with docker-hubic-swiftauth-proxy to enable hubic compability

Set environment variables to suite your needs.

S3QL_URL=swift://<server>:<port>/<storage_container> \
S3QL_STORAGE=<Filesystem_Name> \
S3QL_LOGIN=<username> \
S3QL_PASSWD=<password> \
S3QL_FSPASSWD=<FS password> \
S3QL_CACHESIZE=<In KB or empty if you wish to use auto, auto will use up all of the space on your _host_> \
S3QL_MAX_OBJ_SIZE=<In KB if you change to limit on maximum object size> \
S3QL_SUBNET=<subnet ex 172.17.0./16>

Run it

To run you must use "--privileged" or "--cap-add mknod --cap-add sys_admin --device=/dev/fuse" Since it uses fuse to mount the volume.


Changed timeout in my_init from 5sec to 120 sec to allow for syncing of metadata and data to cloud.


Im using hubic 10tb for €5 per month. It's an OVH company, so it's running in France.
Of if you want to use my affiliate link (I'll get an extra 500gb when you sign up)

#Usage in other containers.
Since this mount is only container local (not mounted in the host file system.) No other containers can use the filesystem directly (eg via --volumes-from)
Instead you can use NFS

mount <s3ql ip>:/folder/already/setup/to/be/shared /mountpoint

Remember the host server must have the nfs-kernel module installed also.
And of course the server mounting needs to run in "--privileged" mode also.
This is a security issue. A compromised container running in privileged mode means a compromised host. (Running the s3ql in privileged mode is "ok-ish" since it is not exposing any services to the world)

##NFS mount in host instead.
Basically query docker for the ip of the s3ql container (On name..) then mount on that ip. Remember to set S3QL_SUBNET accordingly on the container.

mount -t nfs $(docker inspect $(docker ps -a | grep s3ql | awk '{print $1}') | grep IPAddress\" | awk -F\" '{print $4}'):/ <mount_point>

##Docker volumes plugins
Instead there is a couple of docker-volume plugins you can use:

But that forces you to expose the Ports for NFSv4 111 and 2049

MIT For original code in this repository, see LICENSE text

Docker Pull Command
Source Repository