This project is an open-source email service built with Celery, RabbitMQ, and Redis. It's designed to be easy to use and highly scalable. We welcome contributions from anyone interested in improving the service.
You need to have the following installed on your machine:
- Docker
- Docker Compose
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Clone the repository to your local machine:
git clone https://github.com/gustavosett/fastapi-celery-email-service-rabbitmq-redis.git
- Navigate to the project directory:
cd fastapi-celery-email-service-rabbitmq-redis
Before starting the service, you need to set up the environment variables that the application needs. These variables are stored in a .env
file.
- Create a
.env
file in the root directory of the project:
touch .env
- Open the
.env
file and add the environment variables:
nano .env
The .env
file should look something like this:
CELERY_BROKER_URL=amqp://guest:guest@localhost:5672//
CELERY_RESULT_BACKEND=redis://localhost:6379/0
EMAIL_HOST=your-email-host
EMAIL_PORT=your-email-port
EMAIL_HOST_USER=your-email-user
EMAIL_HOST_PASSWORD=your-email-password
Replace your-email-host
, your-email-port
, your-email-user
, and your-email-password
with your actual email service provider's SMTP server details.
- Save and close the file.
Now, you can start the service as described in the Installation section. The application will automatically use the environment variables from the .env
file.
You can start the service by running the start.sh
script:
./start.sh
Or you can use Docker Compose:
docker-compose up -d
We welcome contributions from anyone. If you're interested in contributing to this project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Thanks to all the contributors who invest their time and effort to make this project better.
- Any other acknowledgments, inspirations, and resources used for this project.