From 2532e2d5cd748ffa601e1a3be4aa31cb6d8d9213 Mon Sep 17 00:00:00 2001 From: LRVT <21357789+l4rm4nd@users.noreply.github.com> Date: Thu, 27 Nov 2025 16:10:58 +0100 Subject: [PATCH] Add docker-compose.yml for memelord service --- examples/memelord/docker-compose.yml | 86 ++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 examples/memelord/docker-compose.yml diff --git a/examples/memelord/docker-compose.yml b/examples/memelord/docker-compose.yml new file mode 100644 index 0000000..7002df5 --- /dev/null +++ b/examples/memelord/docker-compose.yml @@ -0,0 +1,86 @@ +services: + + app: + image: ghcr.io/l4rm4nd/memelord:latest # pin a minor version series tag instead of latest + container_name: memelord + environment: + # your FQDN or IP; multiple ones supported by comma separation + - DOMAIN=memelord.example.com + # set to True if you use a reverse proxy with tls; enables secure cookie flag and hsts + - SECURE_COOKIES=False + # define the maximum session age in minutes + - SESSION_COOKIE_AGE=30 + # decide whether session cookie is invalidated on browser close + - SESSION_EXPIRE_AT_BROWSER_CLOSE=False + # define the timezone + - TZ=Europe/Berlin + # define comma-separated list of sources for csp frame-ancestors directive + #- CSP_FRAME_ANCESTORS="'self', https://iframe.example.com, https://iframe2.example.com:5432" + # ------- OPTIONAL OIDC AUTH -------- + # Set to 'True' to enable OIDC authentication + #- OIDC_ENABLED=True + # Decide whether login area triggers automatic OIDC login flow + #- OIDC_AUTOLOGIN=False + # Set to 'True' to allow the creation of new users through OIDC + #- OIDC_CREATE_USER=True + # The signing algorithm used by the OIDC provider (e.g., RS256, HS256) + #- OIDC_RP_SIGN_ALGO=RS256 + # URL of the JWKS endpoint for the OIDC provider + #- OIDC_OP_JWKS_ENDPOINT=https://authentik.example.com/application/o//jwks/ + # Client ID for your OIDC RP + #- OIDC_RP_CLIENT_ID= + # Client secret for your OIDC RP + #- OIDC_RP_CLIENT_SECRET= + # Authorization endpoint URL of the OIDC provider + #- OIDC_OP_AUTHORIZATION_ENDPOINT=https://authentik.example.com/application/o/authorize/ + # Token endpoint URL of the OIDC provider + #- OIDC_OP_TOKEN_ENDPOINT=https://authentik.example.com/application/o/token/ + # User info endpoint URL of the OIDC provider + #- OIDC_OP_USER_ENDPOINT=https://authentik.example.com/application/o/userinfo/ + # Length of time it takes for an id token to expire in seconds + #- OIDC_RENEW_ID_TOKEN_EXPIRY_SECONDS=900 + # ------- PSQL DB ENVS -------- + #- DB_ENGINE=postgres + #- POSTGRES_USER=memelord + #- POSTGRES_PASSWORD=memelord + #- POSTGRES_DB=memelord + #- POSTGRES_HOST=db + #- POSTGRES_PORT=5432 + restart: unless-stopped + expose: + - 8000 + ports: + - 8000:8000 + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./volume-data/database:/opt/app/database # persistent storage for sqlite3 database + - ./volume-data/media:/opt/app/media # persistent storage for uploaded media + #networks: + # - proxy + #labels: + # - traefik.enable=true + # - traefik.docker.network=proxy + # - traefik.http.routers.memelord.rule=Host(`memelord.example.com`) + # - traefik.http.services.memelord.loadbalancer.server.port=8000 + # # Optional part for traefik middlewares + # - traefik.http.routers.memelord.middlewares=local-ipwhitelist@file + +# db: +# container_name: memelord-psql +# image: postgres:16-alpine +# restart: unless-stopped +# expose: +# - 5432 +# volumes: +# - ./volume-data/database/psql:/var/lib/postgresql/data/ +# environment: +# - POSTGRES_USER=memelord +# - POSTGRES_PASSWORD=memelord +# - POSTGRES_DB=memelord +# #networks: +# # - proxy + +#networks: +# proxy: +# external: true