On Docker hub filezilla on Github filezilla
This is Filezilla on Docker. It has three modes: Local (no ssh server), remote with ssh server, as well as an optional script for an instant launch AWS EC2 for quick file transfers with storage to EBS volume (Amazon Elastic Block Store). Check out the [aws-filezilla.sh] (https://github.com/yantis/docker-filezilla/blob/master/examples/aws-filezilla.sh) script for this. Also, there is a script to auto create and format your EBS volume [aws-ebs-create-volume-and-format.sh] (https://github.com/yantis/docker-filezilla/blob/master/examples/aws-ebs-create-volume-and-format.sh)
yantis/archlinux-small-ssh-hpn
yantis/dynamic-video yantis/filezilla yantis/thunderbird
The recommended way to run this container looks like this. This example launches Filezilla seamlessly as if it was another program on your computer.
xhost +si:localuser:$(whoami) docker run \ -d \ -e DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix:ro \ -u docker \ -v /:/host \ -v $HOME/docker-data/filezilla:/home/docker/.config/filezilla/ \ yantis/filezilla filezilla
$ xhost +si:localuser:yourusername
Allows your local user to access the xsocket. Change yourusername or use $(whoami) or $USER if your shell supports it.
docker run \
-d \
-e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix:ro \
-u docker \
-v /:/host \
-v $HOME/docker-data/filezilla:/home/docker/.config/filezilla/ \
yantis/filezilla filezillaThis follows these docker conventions:
-drun in daemon mode.-e DISPLAYsets the host display to the local machines display.-v /tmp/.X11-unix:/tmp/.X11-unix:robind mounts the X11 socks on your local machine to the containers and makes it read only.-u dockersets the user to docker. (or you could do root as well)-v /:/hostShares the entire host hard drive with the container (you might not want to be that permissive so just change "/" to whatever path you want to allow. (This is optional but since Filezilla doesn't support FXP you might want to save the files somewhere)-v ~/docker-data/filezilla:/home/docker/.config/filezilla/This is where to save your config files. If you have no interest in saving them then it is optional.yantis/filezilla filezillaYou need to call filezilla because if you do not it will a launch the ssh server instead as a default.
The recommended way to run this container over SSH looks like this. This example launches an high performance SSH server with X-forwarding enabled. Which you can ssh -X (or -Y) into. Check out the remote-filezilla and the aws-filezilla.sh script for an example of this.
docker run \ -ti \ --rm \ -v $HOME/.ssh/authorized_keys:/authorized_keys:ro \ -p 49158:22 \ -v ~/docker-data/filezilla:/home/docker/.config/filezilla/ \ yantis/filezilla
This follows these docker conventions:
-tiwill run an interactive session that can be terminated with CTRL+C.--rmwill run a temporary session that will make sure to remove the container on exit.-v $HOME/.ssh/authorized_keys:/authorized_keys:roOptionaly share your public keys with the host. This is particularlly useful when you are running this on another server that already has SSH. Like an Amazon EC2 instance. WARNING: If you don't use this then it will just default to the user pass of docker/docker (If you do specify authorized keys it will disable all password logins to keep it secure).-v ~/docker-data/filezilla:/home/docker/.config/filezilla/This is where to save your config files. If you have no interest in saving them then it is optional.-v /:/hostShares the entire host hard drive with the container (you might not want to be that permissive so just change "/" to whatever path you want to allow)yantis/filezillathe default mode is SSH so no need to run any commands.