2018-10-09 06:09:50 +00:00
version : "3"
services :
web :
2023-08-13 15:58:41 +00:00
image : iceshrimp.dev/iceshrimp/iceshrimp:dev
2023-08-03 16:36:11 +00:00
### If you want to build the image locally
2023-08-04 19:40:06 +00:00
# build: .
2023-08-15 20:35:22 +00:00
### If you want to build the image locally AND use Docker 20.10
# build:
# context: .
# args:
# DOCKER_BUILDKIT: 1
2023-07-22 11:32:57 +00:00
container_name : iceshrimp_web
2022-12-13 04:32:12 +00:00
restart : unless-stopped
2022-11-07 03:04:57 +00:00
depends_on :
2019-04-07 12:50:36 +00:00
- db
2019-04-14 03:05:12 +00:00
- redis
2023-06-04 21:55:35 +00:00
### Uncomment one of the following to use a search engine
2023-06-04 20:29:24 +00:00
# - meilisearch
2023-06-04 21:55:35 +00:00
# - sonic
2023-08-13 15:58:41 +00:00
### Uncomment one of the following to use a cache server
# - dragonflydb
# - keydb
# - redis_cache
2018-10-09 06:09:50 +00:00
ports :
2022-05-15 07:39:23 +00:00
- "3000:3000"
2018-10-09 06:09:50 +00:00
networks :
2023-07-22 11:32:57 +00:00
- ishnet
2022-12-13 04:32:12 +00:00
# - web
environment :
NODE_ENV : production
2020-07-30 12:13:38 +00:00
volumes :
2023-07-22 11:32:57 +00:00
- ./files:/iceshrimp/files
- ./.config:/iceshrimp/.config:ro
2018-10-09 06:09:50 +00:00
2019-04-14 03:05:12 +00:00
redis :
2022-12-13 04:32:12 +00:00
restart : unless-stopped
2022-12-08 14:17:00 +00:00
image : docker.io/redis:7.0-alpine
2023-07-22 11:32:57 +00:00
container_name : iceshrimp_redis
2019-04-14 03:05:12 +00:00
networks :
2023-07-22 11:32:57 +00:00
- ishnet
2019-04-14 03:05:12 +00:00
volumes :
- ./redis:/data
2018-10-09 06:09:50 +00:00
2019-04-07 12:50:36 +00:00
db :
2022-12-13 04:32:12 +00:00
restart : unless-stopped
2022-12-19 00:57:51 +00:00
image : docker.io/postgres:12.2-alpine
2023-07-22 11:32:57 +00:00
container_name : iceshrimp_db
2018-10-09 06:09:50 +00:00
networks :
2023-07-22 11:32:57 +00:00
- ishnet
2019-04-07 12:50:36 +00:00
env_file :
2022-12-16 21:59:10 +00:00
- .config/docker.env
2018-10-09 06:09:50 +00:00
volumes :
2019-04-07 12:50:36 +00:00
- ./db:/var/lib/postgresql/data
2018-10-09 06:09:50 +00:00
2023-08-13 15:58:41 +00:00
### Search Engines
2023-05-26 08:05:46 +00:00
### 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:
2023-08-13 15:58:41 +00:00
# container_name: iceshrimp_meilisearch
# image: docker.io/getmeili/meilisearch:v1.1.1
2023-05-26 08:05:46 +00:00
# environment:
# - MEILI_ENV=${MEILI_ENV:-development}
# ports:
# - "7700:7700"
# networks:
2023-07-22 11:32:57 +00:00
# - ishnet
2023-05-26 08:05:46 +00:00
# volumes:
# - ./meili_data:/meili_data
# restart: unless-stopped
# sonic:
2023-08-13 15:58:41 +00:00
# container_name: iceshrimp_sonic
2023-05-26 08:05:46 +00:00
# restart: unless-stopped
# image: docker.io/valeriansaliou/sonic:v1.4.0
# networks:
2023-07-22 11:32:57 +00:00
# - ishnet
2023-05-26 08:05:46 +00:00
# volumes:
# - ./sonic:/var/lib/sonic/store
# - ./sonic/config.cfg:/etc/sonic.cfg
2018-10-09 06:09:50 +00:00
2023-08-13 15:58:41 +00:00
### Cache Servers
### Only one of the below should be used.
### DragonflyDB is the fastest overall, however it is NOT open source, but source-available (BSL). KeyDB is still faster than pure Redis, and it's BSD-licensed.
# dragonflydb:
# container_name: iceshrimp_dragonflydb
# restart: unless-stopped
# image: 'docker.dragonflydb.io/dragonflydb/dragonfly:v1.8.0'
# ulimits:
# memlock: -1
# networks:
# - ishnet
# volumes:
# - ./dragonflydb:/data
# keydb:
# container_name: iceshrimp_keydb
# restart: unless-stopped
### Choose an image depending on your architecture, keydb doesn't build alpine for arm, and the way they do tags is very weird in general
## image: 'docker.io/eqalpha/keydb:alpine_x86_64_v6.3.3'
## image: 'docker.io/eqalpha/keydb:arm64_v6.3.3'
# networks:
# - ishnet
# volumes:
# - ./keydb:/data
# redis_cache:
# restart: unless-stopped
# image: docker.io/redis:7.0-alpine
# container_name: iceshrimp_redis_cache
# networks:
# - ishnet
# volumes:
# - ./redis_cache:/data
2018-10-09 06:09:50 +00:00
networks :
2023-07-22 11:32:57 +00:00
ishnet :
2023-05-26 08:05:46 +00:00
# web:
# external:
# name: web