91 lines
2.0 KiB
YAML
91 lines
2.0 KiB
YAML
x-logging: &default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "4"
|
|
|
|
services:
|
|
nginx:
|
|
container_name: lemmy-nginx
|
|
image: nginx:alpine
|
|
networks:
|
|
- lemmy
|
|
- proxy
|
|
volumes:
|
|
- ./nginx:/etc/nginx/conf.d:ro
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
depends_on:
|
|
- pictrs
|
|
- lemmy-ui
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=proxy"
|
|
- "traefik.http.routers.lemmy.rule=Host(`lemmy.example.com`)"
|
|
- "traefik.http.routers.lemmy.entrypoints=websecure"
|
|
- "traefik.http.routers.lemmy.service=lemmy"
|
|
- "traefik.http.services.lemmy.loadBalancer.server.port=3000"
|
|
|
|
lemmy:
|
|
container_name: lemmy
|
|
image: dessalines/lemmy:0.19.5
|
|
networks:
|
|
- lemmy
|
|
env_file:
|
|
- docker.env
|
|
volumes:
|
|
- ./lemmy.hjson:/config/config.hjson
|
|
depends_on:
|
|
- postgres
|
|
- pictrs
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
|
|
lemmy-ui:
|
|
container_name: lemmy-ui
|
|
image: dessalines/lemmy-ui:0.19.5
|
|
networks:
|
|
- lemmy
|
|
env_file:
|
|
- docker.env
|
|
volumes:
|
|
- ./lemmy-ui-themes:/app/extra_themes
|
|
depends_on:
|
|
- lemmy
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
|
|
pictrs:
|
|
container_name: lemmy-pictrs
|
|
image: asonix/pictrs:0.5.16
|
|
networks:
|
|
- lemmy
|
|
# we can set options to pictrs like this, here we set max. image size and forced format for conversion
|
|
# entrypoint: /sbin/tini -- /usr/local/bin/pict-rs -p /mnt -m 4 --image-format webp
|
|
env_file:
|
|
- docker.env
|
|
user: 991:991
|
|
volumes:
|
|
- ./pictrs:/mnt:Z
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
|
|
postgres:
|
|
container_name: lemmy-postgres
|
|
image: postgres:15-alpine
|
|
networks:
|
|
- lemmy
|
|
env_file:
|
|
- docker.env
|
|
shm_size: 1g
|
|
volumes:
|
|
- ./database:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
|
|
networks:
|
|
lemmy:
|
|
name: lemmy
|
|
proxy:
|
|
external: true
|