Files
cloudy/production.yml
T

117 lines
2.8 KiB
YAML

version: '3.7'
x-environment: &default-environment
LOG_LEVEL: "DEBUG"
LOG_PATH: "./logs"
ACME_PATH: "./acme.json"
NETWORK: "${NETWORK:-web}"
FIN_LOCATION: ""
STREAMLIT_FIN_SERVER_PORT: "8501"
BAI_LOCATION: ""
STREAMLIT_BAI_SERVER_PORT: "8502"
volumes:
production_traefik: {}
services:
osrm-backend:
environment:
# OSRM manager setup
- OSRM_ALGORITHM=mld
- OSRM_THREADS=2
- OSRM_PORT=5000
- OSRM_PROFILE=/opt/car.lua
- OSRM_MAP_NAME=${OSRM_MAP_NAME}
- OSRM_GEOFABRIK_PATH=${OSRM_GEOFABRIK_PATH}
# Notify OSRM Manager to restart without stopping container
- OSRM_NOTIFY_FILEPATH=/data/osrm_notify.txt
image: furyhawk/osrm-backend:${OSRM_VERSION:-latest}
container_name: osrm_backend
restart: always
expose:
- ${OSRM_PORT:-5000}
networks:
- net
- default
streamlit-bai:
environment:
<<: *default-environment
image: furyhawk/beyondallinfo:latest
container_name: streamlit_bai_app
restart: always
expose:
- ${STREAMLIT_BAI_SERVER_PORT}
command: streamlit run --server.port=$STREAMLIT_BAI_SERVER_PORT --server.address=0.0.0.0 --server.baseUrlPath=$BAI_LOCATION src/app.py
networks:
- net
- default
volumes:
- type: bind
source: ${PWD}/cache/bar_cache.sqlite
target: /app/bar_cache.sqlite
- type: bind
source: ${PWD}/cache/short_cache.sqlite
target: /app/short_cache.sqlite
streamlit-fin:
environment:
<<: *default-environment
build:
context: .
dockerfile: ./compose/streamlit-fin/Dockerfile
image: streamlit_fin_production
container_name: streamlit_fin_app
restart: always
expose:
- ${STREAMLIT_FIN_SERVER_PORT}
networks:
- net
- default
command: streamlit run --server.port=$STREAMLIT_FIN_SERVER_PORT --server.address=0.0.0.0 --server.baseUrlPath=$FIN_LOCATION src/app.py
site_server:
image: nginx:alpine
container_name: site_server
restart: unless-stopped
volumes:
- ./site:/usr/share/nginx/html:ro
networks:
- net
- default
expose:
- 80
msmtpd:
image: crazymax/msmtpd:latest
container_name: flarum_msmtpd
env_file:
- "./msmtpd.env"
environment:
- "TZ"
restart: always
traefik:
environment:
<<: *default-environment
build:
context: .
dockerfile: ./compose/traefik/Dockerfile
image: traefik_production
container_name: traefik
restart: always
volumes:
- "${LOG_PATH:-./logs}:/logs"
- production_traefik:/etc/traefik/acme:z
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- net
- default
ports:
- "80:80"
- "443:443"
networks:
net:
external: true
name: ${NETWORK:-web}