# transfer.zip
An awesome way to quickly and securely send/receive HUGE file transfers.  Walkthrough [here](https://www.7minsec.club/p/quick-demo-of-transferzip).

## Quick install

In one tmux session:
```
sudo docker compose build && sudo docker compose up
```

## Run with a Caddyfile

### Caddy config file sample (original)
!!!warning This "vanilla" Caddyfile approach might not work anymore

```
yoursubdomain.domain.com {
        reverse_proxy 127.0.0.1:9001

        log {
                output file /var/log/caddy/zip.log
        }
}
```

Run it:
```
sudo ./caddy run --config Caddyfile
```

!!!

### Caddy config file with xcaddy integration
Setup [xcaddy](/software/xcaddy/), then setup a `Caddyfile` similar to:

```
mydomain.com {
        # Proxy websocket signaling endpoint
        reverse_proxy /ws* http://127.0.0.1:9002

        # Proxy everything else to Next.js (frontend/backend)
        reverse_proxy http://127.0.0.1:9001
}
```

Then run this to make it all sing:
```
CF_API_TOKEN=xxx sudo --preserve-env=CF_API_TOKEN ./caddy run --config ./Caddyfile
```

Read the [xcaddy](/software/xcaddy/) page and [this GitHub issue](https://github.com/robinkarlberg/transfer.zip-web/issues/41) for more information.

## Update
```
cd ~/folder-where-transfer.zip-is

# shut the container down
sudo docker-compose down

# get updates
git pull

# fire it back up again
sudo docker compose build && sudo docker compose up
```

## Troubleshooting
If you run `sudo docker compose build && sudo docker compose up` and it poops out, what I found is that the build succeeded but the Docker didn't start.  So I just ran `sudo docker compose up -d` and BAM!  Back in business.
