<commit_before># docker-filezilla

On Docker hub [filezilla](https://registry.hub.docker.com/u/yantis/filezilla)
on Github [filezilla](https://github.com/yantis/filezilla)

This is Filezilla on Docker. It has three modes. Local (no ssh server), remote 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 script for this.


## Usage (Local)

The recommended way to run this container looks like this. This example launches Filezilla seamlessly as
if it was another program on your computer.

```bash
xhost +si:localuser:$(whoami) >/dev/null
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
```

## Breakdown (Local)

```bash
$ xhost +si:localuser:yourusername
```

Allows your local user to access the xsocket. Change yourusername or use $(whoami)
or $USER if your shell supports it.

This follows these docker conventions:

* `-d` run in daemon mode. 
* `-e DISPLAY` sets the host display to the local machines display.
* `-v /tmp/.X11-unix:/tmp/.X11-unix:ro` bind mounts the X11 socks on your local machine
to the containers and makes it read only.
* `-u docker` sets the user to docker. (or you could do root as well)
* ` -v /:/host` Shares 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 filezilla` You need to call filezilla because if you do not it will a launch the ssh
server instead as a default.


## Usage (Remote SSH)

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 aws-filezilla.sh script for an example of this. 


```bash
docker run \
    -ti \<commit_msg>Readme Fixes modified:   README.md<commit_after># docker-filezilla

On Docker hub [filezilla](https://registry.hub.docker.com/u/yantis/filezilla)
on Github [filezilla](https://github.com/yantis/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/aws-filezilla.sh) script for this.


## Usage (Local)

The recommended way to run this container looks like this. This example launches Filezilla seamlessly as
if it was another program on your computer.

```bash
xhost +si:localuser:$(whoami) >/dev/null
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
```

## Breakdown (Local)

```bash
$ xhost +si:localuser:yourusername
```

Allows your local user to access the xsocket. Change yourusername or use $(whoami)
or $USER if your shell supports it.

This follows these docker conventions:

* `-d` run in daemon mode. 
* `-e DISPLAY` sets the host display to the local machines display.
* `-v /tmp/.X11-unix:/tmp/.X11-unix:ro` bind mounts the X11 socks on your local machine
to the containers and makes it read only.
* `-u docker` sets the user to docker. (or you could do root as well)
* ` -v /:/host` Shares 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 filezilla` You need to call filezilla because if you do not it will a launch the ssh
server instead as a default.


## Usage (Remote SSH)

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 [aws-filezilla.sh](https://github.com/yantis/docker-filezilla/blob/master/aws-filezilla.sh) script for an example of this. 


```bash
docker run \
    -ti \
{'fraction_non_alphanumeric': 0.0939569536423841, 'fraction_numerical': 0.004552980132450331, 'mean_word_length': 3.4543778801843317, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2382643', 'n_tokens_mistral': 1572, 'n_tokens_neox': 1408, 'n_words': 644}