The goal of this repository is to automate the setting up of a docker-compose
stack for sendy.
Advantages of this docker stack:
- Downloads the latest sendy for you
- Configuration is done through a
.env
file and is easy to manage - Automatically sets up a reverse proxy with (free) TLS certificates
- Allows easy import of your old sendy database (see database-imports)
- Clone this repository
- Populate the
.env
file with the required variables, see.env.example
- Run
bash scripts/provision.sh
I recommend setting up your A
record to your subdomain and setting SERVER_IP_OR_DOMAIN
to the live subdomain. The swag
container needs the domain to resolve to the server ip address to set up the TLS certificates.
Note that the uploads
folder of sendy is mounted to the host file system for persistence, and so you can easily add and manage files in that folder.
This script suite:
- Installs
docker
- Starts a
docker-compose
sendy stack (apache + mysql) - Starts a reverse proxy for sendy
- You have a domain name
- You have a server with a public IP address (recommended: Ubuntu 22.04 server with a public IP address, minimum of 1G RAM)
- You have a subdomain pointing to the server
- You have a valid sendy license key for your domain
If you intend to run other services on the same server (for example a URL shortener), you can extend this docker stack by changing two things:
- Create a new docker compose file in the format
docker-compose.YOUR_SERVICE_NAME.yml
- Remember to add the
networks
section to the file
- Remember to add the
- Create a new proxy config, see
swag/nginx/proxy-confs/
- Add your subdomains to the
ADDITIONAL_SUBDOMAINS
variable in the.env
file