-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug]: Traefik configuration returning 404 on api/instances/ #6382
Comments
Hey team, it is mostly solved, I still have REDIS connection issues but most of it is running (had to change the certificates resolver to a http_challenge instead of a http challenge) Here's what my Live container is returning regarding REDIS I highly suspect a misconfig with Traefik causing this : [10:12:12.614] WARN (1): Redis Client wasn't able to connect, continuing without Redis (you won't be able to sync data between multiple plane live servers)
x-app-env: &app-env
environment:
- NGINX_PORT=${NGINX_PORT:-80}
- WEB_URL=${WEB_URL:-http://localhost}
- DEBUG=${DEBUG:-0}
- SENTRY_DSN=${SENTRY_DSN:-""}
- SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}
- CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-}
# Gunicorn Workers
- GUNICORN_WORKERS=${GUNICORN_WORKERS:-1}
#DB SETTINGS
- PGHOST=${PGHOST:-plane-db}
- PGDATABASE=${PGDATABASE:-plane}
- POSTGRES_USER=${POSTGRES_USER:-plane}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}
- POSTGRES_DB=${POSTGRES_DB:-plane}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
- PGDATA=${PGDATA:-/var/lib/postgresql/data}
- DATABASE_URL=${DATABASE_URL:-postgresql://plane:plane@plane-db/plane}
# REDIS SETTINGS
- REDIS_HOST=${REDIS_HOST:-plane-redis}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_URL=${REDIS_URL:-redis://plane-redis:6379/}
# RabbitMQ Settings
- RABBITMQ_HOST=${RABBITMQ_HOST:-plane-mq}
- RABBITMQ_PORT=${RABBITMQ_PORT:-5672}
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USER:-plane}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD:-plane}
- RABBITMQ_DEFAULT_VHOST=${RABBITMQ_VHOST:-plane}
- RABBITMQ_VHOST=${RABBITMQ_VHOST:-plane}
- AMQP_URL=${AMQP_URL:-amqp://plane:plane@plane-mq:5672/plane}
# Application secret
- SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}
# DATA STORE SETTINGS
- USE_MINIO=${USE_MINIO:-1}
- AWS_REGION=${AWS_REGION:-}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}
- AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
- AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}
- MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}
- BUCKET_NAME=${BUCKET_NAME:-uploads}
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}
# Live server env
- API_BASE_URL=${API_BASE_URL:-http://api:8000}
services:
web:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-frontend:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: node web/server.js web
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.plane.rule=Host(`plane.company.com`)
- traefik.http.routers.plane.entrypoints=web,websecure
- traefik.http.routers.plane.tls.certresolver=http_challenge
- traefik.http.services.plane.loadbalancer.server.port=3000
deploy:
replicas: ${WEB_REPLICAS:-1}
depends_on:
- api
- worker
space:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-space:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: node space/server.js space
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.space.rule=Host(`plane.company.com`) && PathPrefix (`/spaces/`)
- traefik.http.routers.space.entrypoints=web,websecure
- traefik.http.routers.space.tls.certresolver=http_challenge
- traefik.http.services.space.loadbalancer.server.port=3000
deploy:
replicas: ${SPACE_REPLICAS:-1}
depends_on:
- api
- worker
- web
admin:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-admin:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: node admin/server.js admin
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.admin.rule=Host(`plane.company.com`) && PathPrefix (`/god-mode/`)
- traefik.http.routers.admin.entrypoints=web,websecure
- traefik.http.routers.admin.tls.certresolver=http_challenge
- traefik.http.services.admin.loadbalancer.server.port=3000
deploy:
replicas: ${ADMIN_REPLICAS:-1}
depends_on:
- api
- web
live:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-live:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: node live/dist/server.js live
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.live.rule=Host(`plane.company.com`) && PathPrefix (`/live/`)
- traefik.http.routers.live.entrypoints=web,websecure
- traefik.http.routers.live.tls.certresolver=http_challenge
- traefik.http.services.live.loadbalancer.server.port=3000
deploy:
replicas: ${LIVE_REPLICAS:-1}
depends_on:
- api
- web
api:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: ./bin/docker-entrypoint-api.sh
deploy:
replicas: ${API_REPLICAS:-1}
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.api.rule=Host(`plane.company.com`) && (PathPrefix(`/api/`) || PathPrefix(`/auth/`))
- traefik.http.routers.api.entrypoints=web,websecure
- traefik.http.routers.api.tls.certresolver=http_challenge
- traefik.http.services.api.loadbalancer.server.port=8000
volumes:
- logs_api:/code/plane/logs
depends_on:
- plane-db
- plane-redis
- plane-mq
worker:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: ./bin/docker-entrypoint-worker.sh
networks:
- proxy
volumes:
- logs_worker:/code/plane/logs
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
beat-worker:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: unless-stopped
command: ./bin/docker-entrypoint-beat.sh
networks:
- proxy
volumes:
- logs_beat-worker:/code/plane/logs
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
migrator:
<<: *app-env
image: ${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-stable}
platform: ${DOCKER_PLATFORM:-}
pull_policy: if_not_present
restart: "no"
command: ./bin/docker-entrypoint-migrator.sh
networks:
- proxy
volumes:
- logs_migrator:/code/plane/logs
depends_on:
- plane-db
- plane-redis
plane-db:
<<: *app-env
image: postgres:15.7-alpine
pull_policy: if_not_present
restart: unless-stopped
command: postgres -c 'max_connections=1000'
networks:
- proxy
volumes:
- pgdata:/var/lib/postgresql/data
plane-redis:
<<: *app-env
image: valkey/valkey:7.2.5-alpine
pull_policy: if_not_present
restart: unless-stopped
networks:
- proxy
volumes:
- redisdata:/data
plane-mq:
<<: *app-env
image: rabbitmq:3.13.6-management-alpine
restart: always
networks:
- proxy
volumes:
- rabbitmq_data:/var/lib/rabbitmq
plane-minio:
<<: *app-env
image: minio/minio:latest
pull_policy: if_not_present
restart: unless-stopped
command: server /export --console-address ":9090"
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.plane-minio.rule=Host(`plane.company.com`) && PathPrefix(`/uploads/`)
- traefik.http.routers.plane-minio.entrypoints=web,websecure
- traefik.http.routers.plane-minio.tls.certresolver=http_challenge
- traefik.http.services.plane-minio.loadbalancer.server.port=9000
volumes:
- uploads:/export
# Comment this if you already have a reverse proxy running
#proxy:
# <<: *app-env
# image: ${DOCKERHUB_USER:-makeplane}/plane-proxy:${APP_RELEASE:-stable}
# platform: ${DOCKER_PLATFORM:-}
# pull_policy: if_not_present
# restart: unless-stopped
# ports:
# - ${NGINX_PORT}:80
# depends_on:
# - web
# - api
# - space
networks:
proxy:
external: true
volumes:
pgdata:
redisdata:
uploads:
logs_api:
logs_worker:
logs_beat-worker:
logs_migrator:
rabbitmq_data: |
Is there an existing issue for this?
Current behavior
This config doesn't seem to work and I don't understand why, I'm running this on Ubuntu through docker compose there are other services running (N8N, NocoDB) through Traefik and I want to use it for plane too, Here's my docker-compose:
Steps to reproduce
Use above docker-compose.yaml with this traefik config:
Environment
Production
Browser
Google Chrome
Variant
Self-hosted
Version
0.24.1
The text was updated successfully, but these errors were encountered: