Skip to content

Commit 2532e2d

Browse files
authored
Add docker-compose.yml for memelord service
1 parent fa90436 commit 2532e2d

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
services:
2+
3+
app:
4+
image: ghcr.io/l4rm4nd/memelord:latest # pin a minor version series tag instead of latest
5+
container_name: memelord
6+
environment:
7+
# your FQDN or IP; multiple ones supported by comma separation
8+
- DOMAIN=memelord.example.com
9+
# set to True if you use a reverse proxy with tls; enables secure cookie flag and hsts
10+
- SECURE_COOKIES=False
11+
# define the maximum session age in minutes
12+
- SESSION_COOKIE_AGE=30
13+
# decide whether session cookie is invalidated on browser close
14+
- SESSION_EXPIRE_AT_BROWSER_CLOSE=False
15+
# define the timezone
16+
- TZ=Europe/Berlin
17+
# define comma-separated list of sources for csp frame-ancestors directive
18+
#- CSP_FRAME_ANCESTORS="'self', https://iframe.example.com, https://iframe2.example.com:5432"
19+
# ------- OPTIONAL OIDC AUTH --------
20+
# Set to 'True' to enable OIDC authentication
21+
#- OIDC_ENABLED=True
22+
# Decide whether login area triggers automatic OIDC login flow
23+
#- OIDC_AUTOLOGIN=False
24+
# Set to 'True' to allow the creation of new users through OIDC
25+
#- OIDC_CREATE_USER=True
26+
# The signing algorithm used by the OIDC provider (e.g., RS256, HS256)
27+
#- OIDC_RP_SIGN_ALGO=RS256
28+
# URL of the JWKS endpoint for the OIDC provider
29+
#- OIDC_OP_JWKS_ENDPOINT=https://authentik.example.com/application/o/<slug>/jwks/
30+
# Client ID for your OIDC RP
31+
#- OIDC_RP_CLIENT_ID=<client-id>
32+
# Client secret for your OIDC RP
33+
#- OIDC_RP_CLIENT_SECRET=<client-secret>
34+
# Authorization endpoint URL of the OIDC provider
35+
#- OIDC_OP_AUTHORIZATION_ENDPOINT=https://authentik.example.com/application/o/authorize/
36+
# Token endpoint URL of the OIDC provider
37+
#- OIDC_OP_TOKEN_ENDPOINT=https://authentik.example.com/application/o/token/
38+
# User info endpoint URL of the OIDC provider
39+
#- OIDC_OP_USER_ENDPOINT=https://authentik.example.com/application/o/userinfo/
40+
# Length of time it takes for an id token to expire in seconds
41+
#- OIDC_RENEW_ID_TOKEN_EXPIRY_SECONDS=900
42+
# ------- PSQL DB ENVS --------
43+
#- DB_ENGINE=postgres
44+
#- POSTGRES_USER=memelord
45+
#- POSTGRES_PASSWORD=memelord
46+
#- POSTGRES_DB=memelord
47+
#- POSTGRES_HOST=db
48+
#- POSTGRES_PORT=5432
49+
restart: unless-stopped
50+
expose:
51+
- 8000
52+
ports:
53+
- 8000:8000
54+
volumes:
55+
- /etc/localtime:/etc/localtime:ro
56+
- /etc/timezone:/etc/timezone:ro
57+
- ./volume-data/database:/opt/app/database # persistent storage for sqlite3 database
58+
- ./volume-data/media:/opt/app/media # persistent storage for uploaded media
59+
#networks:
60+
# - proxy
61+
#labels:
62+
# - traefik.enable=true
63+
# - traefik.docker.network=proxy
64+
# - traefik.http.routers.memelord.rule=Host(`memelord.example.com`)
65+
# - traefik.http.services.memelord.loadbalancer.server.port=8000
66+
# # Optional part for traefik middlewares
67+
# - traefik.http.routers.memelord.middlewares=local-ipwhitelist@file
68+
69+
# db:
70+
# container_name: memelord-psql
71+
# image: postgres:16-alpine
72+
# restart: unless-stopped
73+
# expose:
74+
# - 5432
75+
# volumes:
76+
# - ./volume-data/database/psql:/var/lib/postgresql/data/
77+
# environment:
78+
# - POSTGRES_USER=memelord
79+
# - POSTGRES_PASSWORD=memelord
80+
# - POSTGRES_DB=memelord
81+
# #networks:
82+
# # - proxy
83+
84+
#networks:
85+
# proxy:
86+
# external: true

0 commit comments

Comments
 (0)