-
Notifications
You must be signed in to change notification settings - Fork 65
issue with web ui #106
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
Comments
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 |
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 GitHub<#106 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AR3INHC6HH4XA3HEEFRFNATZ5NDXBAVCNFSM6AAAAABQSWD3CKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZGQZDEOBRGU>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
- db
- cache
volumes:
- static:/home/wger/static
- media:/home/wger/media
networks:
- 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:
- postgres-data:/var/lib/postgresql/data/
healthcheck:
test: pg_isready -U wger
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
networks:
- 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:
- redis-data:/data
healthcheck:
test: redis-cli ping
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
networks:
- wger
celery_worker:
image: wger/server:latest
command: /start-worker
volumes:
- media:/home/wger/media
depends_on:
- web
healthcheck:
test: celery -A wger inspect ping
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks:
- 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:
- celery-beat:/home/wger/beat/
depends_on:
- celery_worker
networks:
- 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:
- web
volumes:
- nginxconfig:/etc/nginx/conf.d
- static:/wger/static
- media:/wger/media
healthcheck:
test: service nginx status
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
networks:
- wger
- traefik
deploy:
placement:
constraints:
# Make the traefik service run only on the node with this label
# as the node with it has the volume for the certificates
- node.labels.traefik-public.traefik-public-certificates == true
labels:
#BaseConfig
- "traefik.enable=true"
- "traefik.constraint-label=traefik-public"
- "traefik.docker.network=traefik_traefik-public"
#MiddleWare
- "traefik.http.middlewares.slimfitcenteropvolging-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.slimfitcenteropvolging-redirect.redirectscheme.permanent=true"
#ServiceConfig
- "traefik.http.routers.slimfitcenteropvolging-http.service=gregitedms"
- "traefik.http.services.slimfitcenteropvolging.loadbalancer.server.port=80"
#EntryPoints
- "traefik.http.routers.slimfitcenteropvolging-http.entrypoints=http"
- "traefik.http.routers.slimfitcenteropvolging-http.rule=Host(
${SITE_HOST}
)"- "traefik.http.routers.slimfitcenteropvolging-http.middlewares=slimfitcenteropvolging-redirect"
- "traefik.http.routers.slimfitcenteropvolging-https.entrypoints=https"
- "traefik.http.routers.slimfitcenteropvolging-https.rule=Host(
${SITE_HOST}
)"- "traefik.http.routers.slimfitcenteropvolging-https.tls=true"
- "traefik.http.routers.slimfitcenteropvolging-https.tls.certresolver=le"
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:
- subnet: 10.250.12.0/24
traefik:
external:
name: traefik_traefik-public
The text was updated successfully, but these errors were encountered: