Repository navigation
Closed
Labels
Description
Is there an existing issue for this?
- I have searched the existing issues
Current behavior
Hi,
I tried running plane work behind traefik reverse proxy, and it almost works, except for the file upload which seems to use localhost for minio calls.
I can't find where I can change these settings.
Here is the setup I use:
docker-compose.yml
version: "3.8"
services:
web:
container_name: web
build:
context: .
dockerfile: ./web/Dockerfile.web
args:
DOCKER_BUILDKIT: 1
restart: always
command: /usr/local/bin/start.sh web/server.js web
depends_on:
- api
- worker
labels:
- "traefik.http.routers.${APP_PROJECT}.rule=Host(`${APP_DOMAIN}`)"
- "traefik.http.services.${APP_PROJECT}-service.loadbalancer.server.port=3000"
space:
container_name: space
build:
context: .
dockerfile: ./space/Dockerfile.space
args:
DOCKER_BUILDKIT: 1
restart: always
command: /usr/local/bin/start.sh space/server.js space
depends_on:
- api
- worker
- web
api:
container_name: api
build:
context: ./apiserver
dockerfile: Dockerfile.api
args:
DOCKER_BUILDKIT: 1
restart: always
command: ./bin/takeoff
env_file:
- ./apiserver/.env
depends_on:
- plane-db
- plane-redis
labels:
- "traefik.http.routers.${APP_PROJECT}-api.rule=Host(`${APP_DOMAIN}`) && PathPrefix(`/api`)"
- "traefik.http.services.${APP_PROJECT}-api-service.loadbalancer.server.port=8000"
worker:
container_name: bgworker
build:
context: ./apiserver
dockerfile: Dockerfile.api
args:
DOCKER_BUILDKIT: 1
restart: always
command: ./bin/worker
env_file:
- ./apiserver/.env
depends_on:
- api
- plane-db
- plane-redis
beat-worker:
container_name: beatworker
build:
context: ./apiserver
dockerfile: Dockerfile.api
args:
DOCKER_BUILDKIT: 1
restart: always
command: ./bin/beat
env_file:
- ./apiserver/.env
depends_on:
- api
- plane-db
- plane-redis
plane-db:
container_name: plane-db
image: postgres:15.2-alpine
restart: always
command: postgres -c 'max_connections=1000'
volumes:
- pgdata:/var/lib/postgresql/data
env_file:
- .env
environment:
POSTGRES_USER: ${PGUSER}
POSTGRES_DB: ${PGDATABASE}
POSTGRES_PASSWORD: ${PGPASSWORD}
PGDATA: /var/lib/postgresql/data
plane-redis:
container_name: plane-redis
image: redis:6.2.7-alpine
restart: always
volumes:
- redisdata:/data
plane-minio:
container_name: plane-minio
image: minio/minio
restart: always
command: server /export --console-address ":9090"
volumes:
- uploads:/export
environment:
MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID}
MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY}
labels:
- "traefik.http.routers.${APP_PROJECT}-minio.rule=Host(`${APP_DOMAIN}`) && PathPrefix(`/${AWS_S3_BUCKET_NAME}`)"
- "traefik.http.services.${APP_PROJECT}-minio-service.loadbalancer.server.port=9000"
createbuckets:
image: minio/mc
entrypoint: >
/bin/sh -c " /usr/bin/mc config host add plane-minio http://plane-minio:9000 \$AWS_ACCESS_KEY_ID \$AWS_SECRET_ACCESS_KEY; /usr/bin/mc mb plane-minio/\$AWS_S3_BUCKET_NAME; /usr/bin/mc anonymous set download plane-minio/\$AWS_S3_BUCKET_NAME; exit 0; "
env_file:
- .env
depends_on:
- plane-minio
volumes:
pgdata:
redisdata:
uploads:
networks:
default:
name: web
external: true
.env
APP_PROJECT="plane"
APP_DOMAIN="my.plane.host.name"
# Database Settings
PGUSER="plane"
PGPASSWORD="very-secret-plane-password"
PGHOST="plane-db"
PGDATABASE="plane"
DATABASE_URL=postgresql://${PGUSER}:${PGPASSWORD}@${PGHOST}/${PGDATABASE}
# Redis Settings
REDIS_HOST="plane-redis"
REDIS_PORT="6379"
REDIS_URL="redis://${REDIS_HOST}:6379/"
# AWS Settings
AWS_REGION=""
AWS_ACCESS_KEY_ID="plane-access-key"
AWS_SECRET_ACCESS_KEY="my-very-secret-plane-key"
# AWS_S3_ENDPOINT_URL="http://plane-minio:9000"
AWS_S3_ENDPOINT_URL="http://${APP_DOMAIN}/"
# Changing this requires change in the nginx.conf for uploads if using minio setup
AWS_S3_BUCKET_NAME="uploads"
# Maximum file upload limit
FILE_SIZE_LIMIT=5242880
# GPT settings
OPENAI_API_BASE="https://api.openai.com/v1" # change if using a custom endpoint
OPENAI_API_KEY="sk-" # add your openai key here
GPT_ENGINE="gpt-3.5-turbo" # use "gpt-4" if you have access
# Settings related to Docker
DOCKERIZED=1
# set to 1 If using the pre-configured minio setup
USE_MINIO=1
Steps to reproduce
Using the files above, I start the container and try to upload a logo for the current workspace and every aws/minio call are requested to localhost
http://localhost/uploads/01547f90-620e-44b6-9ee2-2cb1dae46380/7bfb56129cbd41fe82e7fc6a5b123735-gradient_spinner_w_BTZnewH.png
Browser
Mozilla Firefox
Version
Self-hosted
Reacted by Sash
Metadata
Metadata
Assignees
Labels
Type
Fields
No fields configured for issues without a type.
Activity
avinashk2946 commentedon Oct 19, 2023
I am facing same issue
blackkaiserxjc commentedon Oct 21, 2023
+1
digitalbirth commentedon Oct 26, 2023
+1
On boot, it mentioned that minio is set for download
TheAwiteb commentedon Nov 6, 2023
Any workaround for this?
pablohashescobar commentedon Nov 10, 2023
Hi, you have to configure another variable in the
.envWEB_URLto the current domainhttp://{app_domain}blackkaiserxjc commentedon Nov 11, 2023
I do it, but it's not working.
codevski commentedon Dec 2, 2023
just verify that api server is actually getting passed in WEB_URL var. I had to double check that and noticed it wasn't. Redeployed and images starting to work, not sure if you need to reupload the image or not
0xbytejay commentedon Dec 3, 2023
According to plane/apiserver/plane/settings/selfhosted.py file
I tried adding WEB_URL in .env file,
At the same time, modify the docker-compose-hub.yml file and add the following environment variables in the api service:
, now it can work.

mguptahub commentedon Dec 19, 2023
This issue has been fixed in the latest release. Follow the latest self hosting docs.
pablohashescobar commentedon Dec 19, 2023
Closing this issue as this has been fixed. If you are still facing this please reopen the issue.
feat: language support (#2311)