---
title: "Deploy Celery Flower (w/ Auth)"
description: "Celery Flower is a real-time web-based monitor for Celery task queues."
category: "Observability"
url: https://railway.com/deploy/celery-flower-w-auth
---

# Deploy Celery Flower (w/ Auth)

Celery Flower is a real-time web-based monitor for Celery task queues.

**[Deploy Celery Flower (w/ Auth) on Railway](https://railway.com/template/celery-flower-w-auth)**

- **Creator:** Rubrion
- **Category:** Observability

## Template content

### celery-flower-monitor https://media.rubrion.ai/railway/icons/celery.svg

- **Source:** rubenszinho/celery-flower-monitor

### caddy-auth-proxy https://media.rubrion.ai/railway/icons/caddy.svg

- **Source:** rubenszinho/caddy-auth-proxy
- **Public domain:** Yes

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.1
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

## Documentation

# Deploy and Host Celery Flower (w/ Auth) on Railway

Celery Flower is a real-time web-based monitor for Celery task queues. It provides visibility into task progress, worker status, and queue metrics. This template includes caddy-zero-trust for Basic Auth protection, ensuring your monitoring dashboard is not publicly accessible.

## About Hosting Celery Flower (w/ Auth)

This deployment consists of two services: Flower and caddy-zero-trust. Flower connects to your Redis broker and exposes a dashboard on port 5555 via Railway's private network. caddy-zero-trust sits in front as the public entry point, requiring authentication before proxying requests to Flower. Railway handles TLS termination, while the internal communication between services stays on the private network.

## Common Use Cases

- Monitor Celery worker health and task throughput in production
- Debug failed tasks and inspect task arguments/results
- Track queue lengths and worker resource usage

## Dependencies for Celery Flower (w/ Auth) Hosting

- Redis instance for Celery broker (can be Railway's Redis template)
- Celery workers configured to use the same Redis broker
- caddy-zero-trust service for authentication

### Deployment Dependencies

- [Flower](https://flower.readthedocs.io/) - Celery monitoring tool
- [Redis](https://railway.app/template/redis) - Message broker for Celery
- [caddy-zero-trust](https://github.com/rubenszinho/caddy-zero-trust) - Authentication proxy

### Implementation Details

Flower service environment variables:

```
RAILWAY_DOCKERFILE_PATH=docker/Dockerfile.flower
PORT=5555
REDIS_URL=${{Redis.REDIS_URL}}
```

caddy-zero-trust environment variables pointing to Flower:

```
AUTH_USER=admin
AUTH_PASS=your-secure-password
UPSTREAM_URL=http://${{celery-flower.RAILWAY_PRIVATE_DOMAIN}}:${{celery-flower.PORT}}
```

Flower Dockerfile (`docker/Dockerfile.flower`):

```dockerfile
FROM mher/flower:latest
ENV FLOWER_PORT=5555
CMD ["celery", "flower", "--broker=$REDIS_URL"]
```

## Why Deploy Celery Flower (w/ Auth) on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Celery Flower (w/ Auth) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.
- [SigOnly](https://railway.com/deploy/sigonly) — Deploy SigNoz with a working demo app & config in one click
- [Unwrapped Spotify Music Stats](https://railway.com/deploy/wide-bold) — Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Open this page in a browser: https://railway.com/deploy/celery-flower-w-auth
