Docker¶
Deploying Quicksend with the docker-compose.yaml provided below is the easiest way to get started.
Prerequisites¶
Make sure you have installed Docker as described in the Docker documentation.
Example docker-compose¶
docker-compose.yaml¶
Create a docker-compose.yaml file and paste the contents of this example:
Use .env
Make sure you also copy and use the example .env below!
services:
frontend:
image: ${QUICKSEND_IMAGE_SOURCE}quicksend-frontend:${QUICKSEND_VERSION}
container_name: quicksend_frontend
restart: unless-stopped
environment:
- PUBLIC_QUICKSEND_FRONTEND_URL=${QUICKSEND_FRONTEND_URL}
- PUBLIC_QUICKSEND_FRONTEND_API_URL=${QUICKSEND_API_URL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_DISABLED=${QUICKSEND_FRONTEND_BRAND_LEGAL_DISABLED}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_LABEL=${QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_LABEL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_URL=${QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_URL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_LABEL=${QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_LABEL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_URL=${QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_URL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_LABEL=${QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_LABEL}
- PUBLIC_QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_URL=${QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_URL}
ports:
- "3000:3000"
networks:
- quicksend_network
api:
image: ${QUICKSEND_IMAGE_SOURCE}quicksend-api:${QUICKSEND_VERSION}
container_name: quicksend_api
restart: unless-stopped
environment:
- QUICKSEND__FRONTEND__URL=${QUICKSEND_FRONTEND_URL}
- QUICKSEND__SEND__QUOTAMB=${QUICKSEND_SEND_QUOTAMB}
- QUICKSEND__SEND__TIMETOLIVE=${QUICKSEND_SEND_TIMETOLIVE}
- QUICKSEND__SEND__GLOBALQUOTAMB=${QUICKSEND_SEND_GLOBALQUOTAMB}
ports:
- "3001:8080"
volumes:
- ${QUICKSEND_STORAGE_PATH}:/storage
networks:
- quicksend_network
networks:
quicksend_network:
.env¶
Create a .env file in the same directory and paste this examples contents. Make sure you change all relevant settings to fit your deployment.
# REQUIRES CHANGE: Quicksend version to deploy
QUICKSEND_VERSION=0.2.0-beta.1
# REQUIRES CHANGE: URL of the Quicksend web interface
QUICKSEND_FRONTEND_URL=https://example.com
# REQUIRES CHANGE: URL of the Quicksend API
QUICKSEND_API_URL=https://api.example.com
# REQUIRES CHANGE: Host-directory API storage directory will be bound to
QUICKSEND_STORAGE_PATH=./storage
# Quota per Send in MB
QUICKSEND_SEND_QUOTAMB=1000
# How long a Send stays available for before it expires in seconds
QUICKSEND_SEND_TIMETOLIVE=86400
# How much space will be provisioned in total before API refuses to create new Sends (excludes expired Sends)
QUICKSEND_SEND_GLOBALQUOTAMB=100000
# Source of the Quicksend container image (official: "quanticmirror/")
QUICKSEND_IMAGE_SOURCE=quanticmirror/
# Branding
QUICKSEND_FRONTEND_BRAND_LEGAL_DISABLED=false
QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_LABEL=Privacy policy
QUICKSEND_FRONTEND_BRAND_LEGAL_PRIVACY_URL=https://codeberg.org/quanticmirror/quicksend
QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_LABEL=Terms of service
QUICKSEND_FRONTEND_BRAND_LEGAL_TERMS_URL=https://codeberg.org/quanticmirror/quicksend
QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_LABEL=Imprint
QUICKSEND_FRONTEND_BRAND_LEGAL_IMPRINT_URL=https://codeberg.org/quanticmirror/quicksend
Starting the container¶
After creating and apporpriately adjusting the two files you can start the containers with:
Verify everything is in order by checking the logs: