philomena/docker-compose.yml
2024-03-04 12:08:35 -05:00

106 lines
2.7 KiB
YAML

version: '3'
volumes:
postgres_data: {}
elastic_data: {}
services:
app:
build:
context: .
dockerfile: ./docker/app/Dockerfile
environment:
- MIX_ENV=dev
- PGPASSWORD=postgres
- ANONYMOUS_NAME_SALT=2fmJRo0OgMFe65kyAJBxPT0QtkVes/jnKDdtP21fexsRqiw8TlSY7yO+uFyMZycp
- HCAPTCHA_SECRET_KEY=0x0000000000000000000000000000000000000000
- HCAPTCHA_SITE_KEY=10000000-ffff-ffff-ffff-000000000001
- PASSWORD_PEPPER=dn2e0EpZrvBLoxUM3gfQveBhjf0bG/6/bYhrOyq3L3hV9hdo/bimJ+irbDWsuXLP
- TUMBLR_API_KEY=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4
- OTP_SECRET_KEY=Wn7O/8DD+qxL0X4X7bvT90wOkVGcA90bIHww4twR03Ci//zq7PnMw8ypqyyT/b/C
- ADVERT_FILE_ROOT=adverts
- AVATAR_FILE_ROOT=avatars
- BADGE_FILE_ROOT=badges
- IMAGE_FILE_ROOT=images
- TAG_FILE_ROOT=tags
- AVATAR_URL_ROOT=/avatars
- ADVERT_URL_ROOT=/spns
- IMAGE_URL_ROOT=/img
- BADGE_URL_ROOT=/badge-img
- TAG_URL_ROOT=/tag-img
- ELASTICSEARCH_URL=http://elasticsearch:9200
- REDIS_HOST=redis
- DATABASE_URL=ecto://postgres:postgres@postgres/philomena_dev
- CDN_HOST=localhost
- MAILER_ADDRESS=noreply@philomena.local
- START_ENDPOINT=true
- SITE_DOMAINS=localhost
- S3_SCHEME=http
- S3_HOST=files
- S3_PORT=80
- S3_BUCKET=philomena
- AWS_ACCESS_KEY_ID=local-identity
- AWS_SECRET_ACCESS_KEY=local-credential
working_dir: /srv/philomena
tty: true
volumes:
- .:/srv/philomena
depends_on:
- postgres
- elasticsearch
- redis
postgres:
image: postgres:16.2-alpine
environment:
- POSTGRES_PASSWORD=postgres
volumes:
- postgres_data:/var/lib/postgresql/data
logging:
driver: "none"
elasticsearch:
image: elasticsearch:7.9.3
volumes:
- elastic_data:/usr/share/elasticsearch/data
logging:
driver: "none"
environment:
- discovery.type=single-node
ulimits:
nofile:
soft: 65536
hard: 65536
redis:
image: redis:7.2.4-alpine
logging:
driver: "none"
files:
image: andrewgaul/s3proxy:sha-ec12ae0
environment:
- JCLOUDS_FILESYSTEM_BASEDIR=/srv/philomena/priv/s3
volumes:
- .:/srv/philomena
web:
build:
context: .
dockerfile: ./docker/web/Dockerfile
args:
- APP_DIR=/srv/philomena
- S3_SCHEME=http
- S3_HOST=files
- S3_PORT=80
- S3_BUCKET=philomena
volumes:
- .:/srv/philomena
environment:
- AWS_ACCESS_KEY_ID=local-identity
- AWS_SECRET_ACCESS_KEY=local-credential
logging:
driver: "none"
depends_on:
- app
ports:
- '8080:80'