A minimal, scalable file sharing server.
267
Tested on Ubuntu 22.04 LTS and MacOS Ventura 13.2.1
You can deploy this application without scaling using gunicorn on your local machine/server, or you can utilise docker to scale the application. If you intend to use this with more than 3-4 users, it is recommended that you scale it up.
To deploy this on your local machine, you will need to install python3. It is suggested that you use a virtual environment to set up the dependencies.
sudo apt-get install python3 python3-pip virtualenv
brew install [email protected] virtualenv
virtualenv -p $(which python3) ~/SkyDaddyEnv
source ~/SkyDaddyEnv/bin/activate
pip install -r requirements.txt
deactivate
source ~/SkyDaddyEnv/bin/activate
./serve_local.sh
By default, the application is scaled to 3 instances of skydaddy servers and 1 instance of nginx.
You can change the number of instances you want to run by changing the replicas: 3 under deploy:
in skydaddy service in docker-compose.yml
or you can pass the --scale skydaddy=x (where x is the number of instances you want to run) to ./serve_docker
script. The later will override the parameters of the compose configuration.
version: "3.9"
services:
skydaddy:
build:
context: app
# <...>
deploy:
replicas: 3
# <...>
You can compose the containers using ./serve_docker.sh by -
./serve_docker.sh
or
You can manually do it by -
docker compose up -d --build --scale skydaddy=3 nginx=1
You can also pass parameters for docker compose by appending them to the script call:
./serve_docker.sh --build
Content type
Image
Digest
sha256:c31251e9c…
Size
74.9 MB
Last updated
over 3 years ago
docker pull x64mayhem/skydaddy:arm64