Open ReaperOfTheSoul opened 4 weeks ago
conflicting access rights for ngnx vs wweb service
conflicting access rights for ngnx vs wweb service
hi! yes, if there you mount folders you will get problems when accessing these files (that's why we're using the volumes). However, this should be fixable with some chown
and chmod
. If you manage to fix this, tell us what you did you I can mention this in a comment in the readme
Dear,
I did but the web lost access
Sent from my Galaxy
-------- Original message -------- From: Roland Geider @.> Date: 10/26/24 09:59 (GMT+01:00) To: wger-project/docker @.> Cc: ReaperOfSouls @.>, Author @.> Subject: Re: [wger-project/docker] issue with web ui (Issue #106)
conflicting access rights for ngnx vs wweb service
hi! yes, if there you mount folders you will get problems when accessing these files (that's why we're using the volumes). However, this should be fixable with some chown and chmod. If you manage to fix this, tell us what you did you I can mention this in a comment in the readme
— Reply to this email directly, view it on GitHubhttps://github.com/wger-project/docker/issues/106#issuecomment-2439422815, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR3INHC6HH4XA3HEEFRFNATZ5NDXBAVCNFSM6AAAAABQSWD3CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZGQZDEOBRGU. You are receiving this because you authored the thread.Message ID: @.***>
Current ENV: Portainer with 7 Docker hosts in swam mode Storage: QNAP with nfs shares
Web UI not loading.
Error NGINX Conatiner: 10.255.250.153 - - [25/Oct/2024:07:44:57 +0000] "GET /static/images/favicon.png HTTP/1.1" 403 555 "https://opvolging.slimfit-center.be/en/software/features" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0" "10.255.0.6"
composer file via portainer deployed:
Please consult the
Deployment
section in the readme if you want to deploythis. You need to keep this nginx service, even if you have your own,
otherwise the static files will not be served correctly! If you do remove
it, configure yours similarly to what's in config/nginx.conf
Also take a look at the "Static files" section in the .env file
services: web: image: wger/server:latest depends_on:
wger healthcheck: test: wget --no-verbose --tries=1 --spider http://localhost:8000 interval: 10s timeout: 5s start_period: 300s retries: 5 restart: unless-stopped environment: SECRET_KEY: ${SECRET_KEY} SIGNING_KEY: ${SIGNING_KEY} TIME_ZONE: ${TIME_ZONE} WGER_INSTANCE: ${WGER_INSTANCE} ALLOW_REGISTRATION: ${ALLOW_REGISTRATION} ALLOW_GUEST_USERS: ${ALLOW_GUEST_USERS} ALLOW_UPLOAD_VIDEOS: ${ALLOW_UPLOAD_VIDEOS} MIN_ACCOUNT_AGE_TO_TRUST: ${MIN_ACCOUNT_AGE_TO_TRUST} SYNC_EXERCISES_CELERY: ${SYNC_EXERCISES_CELERY} SYNC_EXERCISE_IMAGES_CELERY: ${SYNC_EXERCISE_IMAGES_CELERY} SYNC_EXERCISE_VIDEOS_CELERY: ${SYNC_EXERCISE_VIDEOS_CELERY} SYNC_INGREDIENTS_CELERY: ${SYNC_INGREDIENTS_CELERY} DOWNLOAD_INGREDIENTS_FROM: ${DOWNLOAD_INGREDIENTS_FROM} USE_CELERY: ${USE_CELERY} CELERY_BROKER: ${CELERY_BROKER} CELERY_BACKEND: ${CELERY_BACKEND} CELERY_FLOWER_PASSWORD: ${CELERY_FLOWER_PASSWORD} DJANGO_DB_ENGINE: ${DJANGO_DB_ENGINE} DJANGO_DB_DATABASE: ${DJANGO_DB_DATABASE} DJANGO_DB_USER: ${DJANGO_DB_USER} DJANGO_DB_PASSWORD: ${DJANGO_DB_PASSWORD} DJANGO_DB_HOST: ${DJANGO_DB_HOST} DJANGO_DB_PORT: ${DJANGO_DB_PORT} DJANGO_PERFORM_MIGRATIONS: ${DJANGO_PERFORM_MIGRATIONS} DJANGO_CACHE_BACKEND: ${DJANGO_CACHE_BACKEND} DJANGO_CACHE_LOCATION: ${DJANGO_CACHE_LOCATION} DJANGO_CACHE_TIMEOUT: ${DJANGO_CACHE_TIMEOUT} DJANGO_CACHE_CLIENT_CLASS: ${DJANGO_CACHE_CLIENT_CLASS} AXES_ENABLED: ${AXES_ENABLED} AXES_FAILURE_LIMIT: ${AXES_FAILURE_LIMIT} AXES_COOLOFF_TIME: ${AXES_COOLOFF_TIME} AXES_HANDLER: ${AXES_HANDLER} AXES_LOCKOUT_PARAMETERS: ${AXES_LOCKOUT_PARAMETERS} AXES_IPWARE_PROXY_COUNT: ${AXES_IPWARE_PROXY_COUNT} AXES_IPWARE_META_PRECEDENCE_ORDER: ${AXES_IPWARE_META_PRECEDENCE_ORDER} DJANGO_DEBUG: ${DJANGO_DEBUG} WGER_USE_GUNICORN: ${WGER_USE_GUNICORN} EXERCISE_CACHE_TTL: ${EXERCISE_CACHE_TTL} SITE_URL: ${SITE_URL} ACCESS_TOKEN_LIFETIME: ${ACCESS_TOKEN_LIFETIME} REFRESH_TOKEN_LIFETIME: ${REFRESH_TOKEN_LIFETIME} USE_RECAPTCHA: ${USE_RECAPTCHA} DJANGO_CLEAR_STATIC_FIRST: ${DJANGO_CLEAR_STATIC_FIRST} FROM_EMAIL: ${FROM_EMAIL} NUMBER_OF_PROXIES: ${NUMBER_OF_PROXIES} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} CSRF_TRUSTED_ORIGINS: ${CSRF_TRUSTED_ORIGINS} SECURE_PROXY_SSL_HEADER: ${SECURE_PROXY_SSL_HEADER}
db: image: postgres:15-alpine volumes:
wger environment: SECRET_KEY: ${SECRET_KEY} SIGNING_KEY: ${SIGNING_KEY} TIME_ZONE: ${TIME_ZONE} WGER_INSTANCE: ${WGER_INSTANCE} ALLOW_REGISTRATION: ${ALLOW_REGISTRATION} ALLOW_GUEST_USERS: ${ALLOW_GUEST_USERS} ALLOW_UPLOAD_VIDEOS: ${ALLOW_UPLOAD_VIDEOS} MIN_ACCOUNT_AGE_TO_TRUST: ${MIN_ACCOUNT_AGE_TO_TRUST} SYNC_EXERCISES_CELERY: ${SYNC_EXERCISES_CELERY} SYNC_EXERCISE_IMAGES_CELERY: ${SYNC_EXERCISE_IMAGES_CELERY} SYNC_EXERCISE_VIDEOS_CELERY: ${SYNC_EXERCISE_VIDEOS_CELERY} SYNC_INGREDIENTS_CELERY: ${SYNC_INGREDIENTS_CELERY} DOWNLOAD_INGREDIENTS_FROM: ${DOWNLOAD_INGREDIENTS_FROM} USE_CELERY: ${USE_CELERY} CELERY_BROKER: ${CELERY_BROKER} CELERY_BACKEND: ${CELERY_BACKEND} CELERY_FLOWER_PASSWORD: ${CELERY_FLOWER_PASSWORD} DJANGO_DB_ENGINE: ${DJANGO_DB_ENGINE} DJANGO_DB_DATABASE: ${DJANGO_DB_DATABASE} DJANGO_DB_USER: ${DJANGO_DB_USER} DJANGO_DB_PASSWORD: ${DJANGO_DB_PASSWORD} DJANGO_DB_HOST: ${DJANGO_DB_HOST} DJANGO_DB_PORT: ${DJANGO_DB_PORT} DJANGO_PERFORM_MIGRATIONS: ${DJANGO_PERFORM_MIGRATIONS} DJANGO_CACHE_BACKEND: ${DJANGO_CACHE_BACKEND} DJANGO_CACHE_LOCATION: ${DJANGO_CACHE_LOCATION} DJANGO_CACHE_TIMEOUT: ${DJANGO_CACHE_TIMEOUT} DJANGO_CACHE_CLIENT_CLASS: ${DJANGO_CACHE_CLIENT_CLASS} AXES_ENABLED: ${AXES_ENABLED} AXES_FAILURE_LIMIT: ${AXES_FAILURE_LIMIT} AXES_COOLOFF_TIME: ${AXES_COOLOFF_TIME} AXES_HANDLER: ${AXES_HANDLER} AXES_LOCKOUT_PARAMETERS: ${AXES_LOCKOUT_PARAMETERS} AXES_IPWARE_PROXY_COUNT: ${AXES_IPWARE_PROXY_COUNT} AXES_IPWARE_META_PRECEDENCE_ORDER: ${AXES_IPWARE_META_PRECEDENCE_ORDER} DJANGO_DEBUG: ${DJANGO_DEBUG} WGER_USE_GUNICORN: ${WGER_USE_GUNICORN} EXERCISE_CACHE_TTL: ${EXERCISE_CACHE_TTL} SITE_URL: ${SITE_URL} ACCESS_TOKEN_LIFETIME: ${ACCESS_TOKEN_LIFETIME} REFRESH_TOKEN_LIFETIME: ${REFRESH_TOKEN_LIFETIME} USE_RECAPTCHA: ${USE_RECAPTCHA} DJANGO_CLEAR_STATIC_FIRST: ${DJANGO_CLEAR_STATIC_FIRST} FROM_EMAIL: ${FROM_EMAIL} NUMBER_OF_PROXIES: ${NUMBER_OF_PROXIES} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB}
cache: image: redis volumes:
wger
celery_worker: image: wger/server:latest command: /start-worker volumes:
wger environment: SECRET_KEY: ${SECRET_KEY} SIGNING_KEY: ${SIGNING_KEY} TIME_ZONE: ${TIME_ZONE} WGER_INSTANCE: ${WGER_INSTANCE} ALLOW_REGISTRATION: ${ALLOW_REGISTRATION} ALLOW_GUEST_USERS: ${ALLOW_GUEST_USERS} ALLOW_UPLOAD_VIDEOS: ${ALLOW_UPLOAD_VIDEOS} MIN_ACCOUNT_AGE_TO_TRUST: ${MIN_ACCOUNT_AGE_TO_TRUST} SYNC_EXERCISES_CELERY: ${SYNC_EXERCISES_CELERY} SYNC_EXERCISE_IMAGES_CELERY: ${SYNC_EXERCISE_IMAGES_CELERY} SYNC_EXERCISE_VIDEOS_CELERY: ${SYNC_EXERCISE_VIDEOS_CELERY} SYNC_INGREDIENTS_CELERY: ${SYNC_INGREDIENTS_CELERY} DOWNLOAD_INGREDIENTS_FROM: ${DOWNLOAD_INGREDIENTS_FROM} USE_CELERY: ${USE_CELERY} CELERY_BROKER: ${CELERY_BROKER} CELERY_BACKEND: ${CELERY_BACKEND} CELERY_FLOWER_PASSWORD: ${CELERY_FLOWER_PASSWORD} DJANGO_DB_ENGINE: ${DJANGO_DB_ENGINE} DJANGO_DB_DATABASE: ${DJANGO_DB_DATABASE} DJANGO_DB_USER: ${DJANGO_DB_USER} DJANGO_DB_PASSWORD: ${DJANGO_DB_PASSWORD} DJANGO_DB_HOST: ${DJANGO_DB_HOST} DJANGO_DB_PORT: ${DJANGO_DB_PORT} DJANGO_PERFORM_MIGRATIONS: ${DJANGO_PERFORM_MIGRATIONS} DJANGO_CACHE_BACKEND: ${DJANGO_CACHE_BACKEND} DJANGO_CACHE_LOCATION: ${DJANGO_CACHE_LOCATION} DJANGO_CACHE_TIMEOUT: ${DJANGO_CACHE_TIMEOUT} DJANGO_CACHE_CLIENT_CLASS: ${DJANGO_CACHE_CLIENT_CLASS} AXES_ENABLED: ${AXES_ENABLED} AXES_FAILURE_LIMIT: ${AXES_FAILURE_LIMIT} AXES_COOLOFF_TIME: ${AXES_COOLOFF_TIME} AXES_HANDLER: ${AXES_HANDLER} AXES_LOCKOUT_PARAMETERS: ${AXES_LOCKOUT_PARAMETERS} AXES_IPWARE_PROXY_COUNT: ${AXES_IPWARE_PROXY_COUNT} AXES_IPWARE_META_PRECEDENCE_ORDER: ${AXES_IPWARE_META_PRECEDENCE_ORDER} DJANGO_DEBUG: ${DJANGO_DEBUG} WGER_USE_GUNICORN: ${WGER_USE_GUNICORN} EXERCISE_CACHE_TTL: ${EXERCISE_CACHE_TTL} SITE_URL: ${SITE_URL} ACCESS_TOKEN_LIFETIME: ${ACCESS_TOKEN_LIFETIME} REFRESH_TOKEN_LIFETIME: ${REFRESH_TOKEN_LIFETIME} USE_RECAPTCHA: ${USE_RECAPTCHA} DJANGO_CLEAR_STATIC_FIRST: ${DJANGO_CLEAR_STATIC_FIRST} FROM_EMAIL: ${FROM_EMAIL} NUMBER_OF_PROXIES: ${NUMBER_OF_PROXIES} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB}
celery_beat: image: wger/server:latest command: /start-beat volumes:
wger environment: SECRET_KEY: ${SECRET_KEY} SIGNING_KEY: ${SIGNING_KEY} TIME_ZONE: ${TIME_ZONE} WGER_INSTANCE: ${WGER_INSTANCE} ALLOW_REGISTRATION: ${ALLOW_REGISTRATION} ALLOW_GUEST_USERS: ${ALLOW_GUEST_USERS} ALLOW_UPLOAD_VIDEOS: ${ALLOW_UPLOAD_VIDEOS} MIN_ACCOUNT_AGE_TO_TRUST: ${MIN_ACCOUNT_AGE_TO_TRUST} SYNC_EXERCISES_CELERY: ${SYNC_EXERCISES_CELERY} SYNC_EXERCISE_IMAGES_CELERY: ${SYNC_EXERCISE_IMAGES_CELERY} SYNC_EXERCISE_VIDEOS_CELERY: ${SYNC_EXERCISE_VIDEOS_CELERY} SYNC_INGREDIENTS_CELERY: ${SYNC_INGREDIENTS_CELERY} DOWNLOAD_INGREDIENTS_FROM: ${DOWNLOAD_INGREDIENTS_FROM} USE_CELERY: ${USE_CELERY} CELERY_BROKER: ${CELERY_BROKER} CELERY_BACKEND: ${CELERY_BACKEND} CELERY_FLOWER_PASSWORD: ${CELERY_FLOWER_PASSWORD} DJANGO_DB_ENGINE: ${DJANGO_DB_ENGINE} DJANGO_DB_DATABASE: ${DJANGO_DB_DATABASE} DJANGO_DB_USER: ${DJANGO_DB_USER} DJANGO_DB_PASSWORD: ${DJANGO_DB_PASSWORD} DJANGO_DB_HOST: ${DJANGO_DB_HOST} DJANGO_DB_PORT: ${DJANGO_DB_PORT} DJANGO_PERFORM_MIGRATIONS: ${DJANGO_PERFORM_MIGRATIONS} DJANGO_CACHE_BACKEND: ${DJANGO_CACHE_BACKEND} DJANGO_CACHE_LOCATION: ${DJANGO_CACHE_LOCATION} DJANGO_CACHE_TIMEOUT: ${DJANGO_CACHE_TIMEOUT} DJANGO_CACHE_CLIENT_CLASS: ${DJANGO_CACHE_CLIENT_CLASS} AXES_ENABLED: ${AXES_ENABLED} AXES_FAILURE_LIMIT: ${AXES_FAILURE_LIMIT} AXES_COOLOFF_TIME: ${AXES_COOLOFF_TIME} AXES_HANDLER: ${AXES_HANDLER} AXES_LOCKOUT_PARAMETERS: ${AXES_LOCKOUT_PARAMETERS} AXES_IPWARE_PROXY_COUNT: ${AXES_IPWARE_PROXY_COUNT} AXES_IPWARE_META_PRECEDENCE_ORDER: ${AXES_IPWARE_META_PRECEDENCE_ORDER} DJANGO_DEBUG: ${DJANGO_DEBUG} WGER_USE_GUNICORN: ${WGER_USE_GUNICORN} EXERCISE_CACHE_TTL: ${EXERCISE_CACHE_TTL} SITE_URL: ${SITE_URL} ACCESS_TOKEN_LIFETIME: ${ACCESS_TOKEN_LIFETIME} REFRESH_TOKEN_LIFETIME: ${REFRESH_TOKEN_LIFETIME} USE_RECAPTCHA: ${USE_RECAPTCHA} DJANGO_CLEAR_STATIC_FIRST: ${DJANGO_CLEAR_STATIC_FIRST} FROM_EMAIL: ${FROM_EMAIL} NUMBER_OF_PROXIES: ${NUMBER_OF_PROXIES} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB}
nginx: image: nginx:stable depends_on:
Make the traefik service run only on the node with this label
labels:
BaseConfig
MiddleWare
ServiceConfig
EntryPoints
${SITE_HOST}
)"${SITE_HOST}
)"volumes: postgres-data: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/POSTGRES" celery-beat: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/CELERY" static: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/STATIC" media: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/MEDIA" nginxconfig: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/NGINXCONFIG" redis-data: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/REDIS" caddy: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/CADDY" caddy-data: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/CADDYDATA" caddy-logs: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/CADDYLOGS" caddy-config: driver_opts: type: nfs o: addr=10.0.105.1,rw device: ":/DockerClusterData/SlimFitCenter/Wger/CADDYCONFIG"
networks: wger: driver: overlay attachable: true ipam: config: