pentacent / keila

Open Source Newsletter Tool.
https://keila.io
GNU Affero General Public License v3.0
1.44k stars 81 forks source link

Assets disappeared again after update #310

Closed dompie closed 4 months ago

dompie commented 4 months ago

Today I updated our production keila to the new version. The uploaded images vanished again -.-

See previous Ticket: https://github.com/pentacent/keila/issues/299

dompie commented 4 months ago

I updated via docker compose pull && docker compose stop && docker compose up -d --build. Can you please fix this. I followed your instructions and they are again gone.

wmnnd commented 4 months ago

Did you actually see files being stored in your volume? Are you sure the volume is mounted correctly and that USER_CONTENT_DIR is set correctly?

dompie commented 4 months ago

Yes it was set up according to keila docs. Our admin now changed volumes mapping omitting USER_CONTENT_DIR. Now assets finally stay in place.

wmnnd commented 4 months ago

If USER_CONTENT_DIR is not set, the default location is ./uploads, as described in the docs.

AndyDufresne422 commented 4 months ago

Just a quick explanation for those who didn't get this like I didn't...

Notice the two lines that are commented as they are what are missing from the example compose.yml

services:
  keila:
    image: pentacent/keila:latest
    container_name: keila
    networks:
      - my-net
    expose:
      - "4000"
    depends_on:
      - postgres
    environment:
      SECRET_KEY_BASE: ""
      KEILA_USER: "admin@domain.tld"
      KEILA_PASSWORD: "secret"
      DB_URL: "postgres://postgres:secret@keila-postgres/postgres"
      URL_HOST: "mailer.domain.tld"
      URL_SCHEMA: "https"
      URL_PORT: "443"
      USER_CONTENT_DIR: "/org/uploads" #make sure this matches what you mount below in the volumes section
      DISABLE_REGISTRATION: true
      CAPTCHA_PROVIDER: "friendly_captcha"
      CAPTCHA_SITE_KEY: ""
      CAPTCHA_SECRET_KEY: ""
    volumes:
      - /path/to/your/keila/uploads:/org/uploads #this is the important addition and the right side of the colon should match above
  postgres:
    image: postgres:alpine
    container_name: keila-postgres
    networks:
      - my-net
    expose:
      - "5432"
    environment:
      POSTGRES_PASSWORD: secret
networks:
  my-net:
    external: true