iceshrimp/docker-compose.yml

77 lines
1.6 KiB
YAML

version: "3"
services:
web:
image: iceshrimp.dev/iceshrimp/iceshrimp:latest
### If you want to build the image locally
# build: .
container_name: iceshrimp_web
restart: unless-stopped
depends_on:
- db
- redis
### Uncomment one of the following to use a search engine
# - meilisearch
# - sonic
ports:
- "3000:3000"
networks:
- ishnet
# - web
environment:
NODE_ENV: production
volumes:
- ./files:/iceshrimp/files
- ./.config:/iceshrimp/.config:ro
redis:
restart: unless-stopped
image: docker.io/redis:7.0-alpine
container_name: iceshrimp_redis
networks:
- ishnet
volumes:
- ./redis:/data
db:
restart: unless-stopped
image: docker.io/postgres:12.2-alpine
container_name: iceshrimp_db
networks:
- ishnet
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
### Only one of the below should be used.
### Meilisearch is better overall, but resource-intensive. Sonic is a very light full text search engine.
# meilisearch:
# container_name: meilisearch
# image: getmeili/meilisearch:v1.1.1
# environment:
# - MEILI_ENV=${MEILI_ENV:-development}
# ports:
# - "7700:7700"
# networks:
# - ishnet
# volumes:
# - ./meili_data:/meili_data
# restart: unless-stopped
# sonic:
# restart: unless-stopped
# image: docker.io/valeriansaliou/sonic:v1.4.0
# networks:
# - ishnet
# volumes:
# - ./sonic:/var/lib/sonic/store
# - ./sonic/config.cfg:/etc/sonic.cfg
networks:
ishnet:
# web:
# external:
# name: web