docker compose fief-worker redis #369
-
I am trying to run fief with docker compose with docker desktop on windows 10, but somehow I am not able to configure the worker correctly: .env: # # Database
# superuser
POSTGRES_USER=''
POSTGRES_PASSWORD=''
# # Database
# smartbillity
SMARTBILLITY_DB_USER=''
SMARTBILLITY_DB_USER_PASSWORD=''
SMARTBILLITY_DB_NAME=''
# # Database
# fief
# Read more: https://docs.fief.dev/self-hosting/configuration/database/
FIEF_DATABASE_TYPE=POSTGRESQL
FIEF_DATABASE_HOST=postgres
FIEF_DATABASE_PORT=5432
FIEF_DATABASE_USERNAME=fief
FIEF_DATABASE_PASSWORD=''
FIEF_DATABASE_NAME=fief
# Reference: https://docs.fief.dev/self-hosting/environment-variables/
FIEF_SECRET=''
FIEF_CLIENT_ID=''
FIEF_CLIENT_SECRET=''
FIEF_ENCRYPTION_KEY=''
PORT=8000
# Set your domain name here
FIEF_ROOT_DOMAIN='localhost'
FIEF_DOMAIN='login.localhost'
# Set your email address here
FIEF_MAIN_USER_EMAIL=''
FIEF_MAIN_USER_PASSWORD=''
# Read more:
# https://docs.fief.dev/self-hosting/environment-variables/#redis
# https://hub.docker.com/r/bitnami/redis/
# REDIS_URL=redis://fief-redis:6379
REDIS_USER=''
REDIS_PASSWORD=''
REDIS_HOST=''
REDIS_PORT=9736
# Read more: https://docs.fief.dev/self-hosting/configuration/ssl/
FORWARDED_ALLOW_IPS=*
compose.yml: version: "3"
services:
postgres:
image: postgres:alpine
profiles: ["dev", "prod"]
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- FIEF_DATABASE_USERNAME=${FIEF_DATABASE_USERNAME}
- FIEF_DATABASE_PASSWORD=${FIEF_DATABASE_PASSWORD}
- FIEF_DATABASE_NAME=${FIEF_DATABASE_NAME}
- SMARTBILLITY_DB_USER=${SMARTBILLITY_DB_USER}
- SMARTBILLITY_DB_USER_PASSWORD=${SMARTBILLITY_DB_USER_PASSWORD}
- SMARTBILLITY_DB_NAME=${SMARTBILLITY_DB_NAME}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U foo"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- ./volumes/postgres-data:/var/lib/postgresql/data
- ./init/postgres/:/docker-entrypoint-initdb.d/
fief-server:
image: ghcr.io/fief-dev/fief:latest
profiles: ["dev", "prod"]
environment:
- DATABASE_TYPE=${FIEF_DATABASE_TYPE}
- DATABASE_HOST=${FIEF_DATABASE_HOST}
- DATABASE_PORT=${FIEF_DATABASE_PORT}
- DATABASE_USERNAME=${FIEF_DATABASE_USERNAME}
- DATABASE_PASSWORD=${FIEF_DATABASE_PASSWORD}
- DATABASE_NAME=${FIEF_DATABASE_NAME}
- SECRET=${FIEF_SECRET}
- ENCRYPTION_KEY=${FIEF_ENCRYPTION_KEY}
- FIEF_CLIENT_ID=${FIEF_CLIENT_ID}
- FIEF_CLIENT_SECRET=${FIEF_CLIENT_SECRET}
- TELEMETRY_ENABLED=false
- ROOT_DOMAIN=${FIEF_ROOT_DOMAIN}
- FIEF_DOMAIN=${FIEF_DOMAIN}
- REDIS_URL='redis://${REDIS_USER}:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}'
command: fief run-server
depends_on:
- postgres
- fief-redis
labels:
- "traefik.enable=true"
- "traefik.http.routers.fief.rule=Host(`login.foo.com`)"
- "traefik.http.routers.fief.entrypoints=websecure"
- "traefik.http.routers.fief.tls.certresolver=myresolver"
fief-worker:
image: ghcr.io/fief-dev/fief:latest
profiles: ["dev", "prod"]
environment:
- SECRET=${FIEF_SECRET}
- ENCRYPTION_KEY=${FIEF_ENCRYPTION_KEY}
- FIEF_CLIENT_ID=${FIEF_CLIENT_ID}
- FIEF_CLIENT_SECRET=${FIEF_CLIENT_SECRET}
- TELEMETRY_ENABLED=false
- REDIS_URL='redis://${REDIS_USER}:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}'
command: fief run-worker -p 1 -t 1 -v # fief run-worker --help
depends_on:
- postgres
- fief-server
- fief-redis
fief-redis:
image: bitnami/redis:latest # https://hub.docker.com/r/bitnami/redis/
profiles: ["dev", "prod"]
environment:
- REDIS_USER=${REDIS_USER}
- REDIS_PASSWORD=${REDIS_PASSWORD}
- REDIS_MASTER_PORT_NUMBER=${REDIS_PORT}
- REDIS_PORT_NUMBER=${REDIS_PORT}
- REDIS_URL='redis://${REDIS_USER}:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}'
# command: redis-server --save 60 1 --loglevel warning
command: /opt/bitnami/scripts/redis/run.sh --save 60 1 --loglevel debug
ports:
- "${REDIS_PORT}:${REDIS_PORT}"
volumes:
- ./volumes/fief-redis-data:/bitnami/redis/data
fief-traefik:
image: traefik:v2.11
profiles: ["dev", "prod"]
container_name: "traefik"
command:
# Uncomment the lines below to debug and try with a self-signed certificate
# - "--log.level=DEBUG"
# - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
# Set your email address here
- "[email protected]"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "443:443"
- "8080:8080"
volumes:
- ./volumes/fief-traefik-letsencrypt-data:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
fief-redis-data:
postgres-data:
fief-traefik-letsencrypt-data:
redis logs:
worker logs:
I did not setup traefik yet. Anyone out there, who can give me a hint? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
Hail, @Ismoh 👋 Welcome to Fief's kingdom! Our team will get back to you very soon to help. In the meantime, take a minute to star our repository ⭐️ Want to support us?Subscribe to one of our paid plan to help us continue our work and receive exclusive information and benefits! Starts at $5/month 🪙 Farewell! |
Beta Was this translation helpful? Give feedback.
-
You can't configure Redis using |
Beta Was this translation helpful? Give feedback.
You can't configure Redis using
REDIS_USER
,REDIS_HOST
, etc variables; there are not recognized by Fief. You should useREDIS_URL
: https://docs.fief.dev/self-hosting/environment-variables/#redis