Bigfile is a file transfer system, supports http, ftp and rpc protocol. It is built on top of many excellent open source projects. Designed to provide a file management service and give developers more help. At the bottom, bigfile splits the file into small pieces of 1MB, the same slice will only be stored once. Please allow me to illustrate the entire architecture with a picture.

In fact, we built a file organization system based on the database. Here you can find familiar files and folders. But in Bigfile, files and folders both are considered to be files.
Since the rpc and http protocols are supported, those languages supported by grpc and other languages can be quickly accessed. If you are not a programmer, you can use the ftp client to manage your files, the only thing you need to do is start Bigfile.
You can find more detailed Documentation here.
docker run -v $(pwd):/certs bigfile/bigfile rpc:make-cert --save-to /certs
version: "3"
services:
mysql:
image: mysql
container_name: "bigfile-mysql"
networks:
- bigfile
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: bigfile
volumes:
- ./data/mysql:/var/lib/mysql
- ./logs/mysql:/var/log/mysql
restart: always
http:
image: bigfile/bigfile
volumes:
- "./server.pem:/certs/server.pem"
- "./server.key:/certs/server.key"
- "./storage:/bigfile/storage"
networks:
- bigfile
depends_on:
- mysql
entrypoint:
- /bigfile/bigfile
- --db-host
- mysql
- http:start
- --cert-file
- /certs/server.pem
- --cert-key
- /certs/server.key
ports:
- "10985:10985"
links:
- mysql
restart: always
ftp:
image: bigfile/bigfile
volumes:
- "./server.pem:/certs/server.pem"
- "./server.key:/certs/server.key"
- "./storage:/bigfile/storage"
networks:
- bigfile
depends_on:
- mysql
entrypoint:
- /bigfile/bigfile
- --db-host
- mysql
- ftp:start
- --cert-file
- /certs/server.pem
- --key-file
- /certs/server.key
- --passive-ip
- 127.0.0.1
- --tls-enable
- --passive-port-range
- 52000-52020
ports:
- "2121:2121"
- "52000-52020:52000-52020"
links:
- mysql
restart: always
rpc:
image: bigfile/bigfile
volumes:
- "./ca.pem:/certs/ca.pem"
- "./server.pem:/certs/server.pem"
- "./server.key:/certs/server.key"
- "./storage:/bigfile/storage"
networks:
- bigfile
depends_on:
- mysql
entrypoint:
- /bigfile/bigfile
- --db-host
- mysql
- rpc:start
- --server-cert
- /certs/server.pem
- --server-key
- /certs/server.key
- --ca-cert
- /certs/ca.pem
ports:
- "10986:10986"
links:
- mysql
restart: always
networks:
bigfile:
start mysql:
docker run --rm --name bigfile-mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=bigfile mysql
start bigfile:
docker run --rm -it -v $(pwd)/certs:/certs -v $(pwd)/storage:/bigfile/storage --link bigfile-mysql -p 2121:2121 -p 10985:10985 -p 10986:10986 -p 52100-52110:52100-52110 bigfile/bigfile --db-host bigfile-mysql multi:server --ftp-passive-ip 127.0.0.1 --ftp-passive-port-range 52100-52110 --server-cert /certs/server.pem --server-key /certs/server.key --ca-cert /certs/ca.pem
Content type
Image
Digest
Size
32.7 MB
Last updated
about 7 years ago
docker pull bigfile/bigfile