232 lines
5.5 KiB
YAML
232 lines
5.5 KiB
YAML
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: {}
|
|
portainer_data: {}
|
|
# vol-emqx-data1:
|
|
# name: foo-emqx-data1
|
|
# vol-emqx-data2:
|
|
# name: foo-emqx-data2
|
|
|
|
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: unless-stopped
|
|
expose:
|
|
- ${OSRM_PORT:-5000}
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
# emqx1:
|
|
# image: emqx:latest
|
|
# container_name: emqx1
|
|
# environment:
|
|
# - "EMQX_NODE_NAME=emqx@node1.emqx.io"
|
|
# - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
|
|
# - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
|
|
# healthcheck:
|
|
# test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
|
|
# interval: 5s
|
|
# timeout: 25s
|
|
# retries: 5
|
|
# networks:
|
|
# net:
|
|
# emqx-bridge:
|
|
# aliases:
|
|
# - node1.emqx.io
|
|
# ports:
|
|
# - 1883:1883
|
|
# - 8083:8083
|
|
# - 8084:8084
|
|
# - 8883:8883
|
|
# - 18083:18083
|
|
# volumes:
|
|
# - vol-emqx-data1:/opt/emqx/data
|
|
|
|
# emqx2:
|
|
# image: emqx:latest
|
|
# container_name: emqx2
|
|
# environment:
|
|
# - "EMQX_NODE_NAME=emqx@node2.emqx.io"
|
|
# - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
|
|
# - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
|
|
# healthcheck:
|
|
# test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
|
|
# interval: 5s
|
|
# timeout: 25s
|
|
# retries: 5
|
|
# networks:
|
|
# emqx-bridge:
|
|
# aliases:
|
|
# - node2.emqx.io
|
|
# volumes:
|
|
# - vol-emqx-data2:/opt/emqx/data
|
|
|
|
# mqttx-web:
|
|
# image: emqx/mqttx-web:latest
|
|
# container_name: mqttx_web
|
|
# restart: unless-stopped
|
|
# expose:
|
|
# - 80
|
|
# networks:
|
|
# - emqx-bridge
|
|
# - net
|
|
# - default
|
|
|
|
heynote-app:
|
|
image: furyhawk/heynote:${HEYNOTETAG:-latest}
|
|
container_name: heynote_app
|
|
restart: unless-stopped
|
|
environment:
|
|
NODE_ENV: production
|
|
expose:
|
|
- 5173
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
cheatsheets-app:
|
|
image: furyhawk/cheatsheets:${CHEATSHEETSTAG:-latest}
|
|
container_name: cheatsheets_app
|
|
restart: unless-stopped
|
|
expose:
|
|
- 80
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
thelounge:
|
|
image: ghcr.io/thelounge/thelounge:latest
|
|
container_name: thelounge
|
|
expose:
|
|
- 9000
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ~/.thelounge:/var/opt/thelounge # bind lounge config from the host's file system
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
streamlit-bai:
|
|
environment:
|
|
<<: *default-environment
|
|
image: furyhawk/beyondallinfo:latest
|
|
container_name: streamlit_bai_app
|
|
restart: unless-stopped
|
|
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: unless-stopped
|
|
# 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
|
|
expose:
|
|
- 80
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
# msmtpd:
|
|
# image: crazymax/msmtpd:latest
|
|
# container_name: flarum_msmtpd
|
|
# env_file:
|
|
# - "./msmtpd.env"
|
|
# environment:
|
|
# - "TZ"
|
|
# restart: always
|
|
# expose:
|
|
# - 2500
|
|
# networks:
|
|
# - net
|
|
# - default
|
|
|
|
portainer:
|
|
image: portainer/portainer-ce:latest
|
|
command: -H unix:///var/run/docker.sock
|
|
container_name: portainer
|
|
restart: always
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- portainer_data:/data
|
|
networks:
|
|
- net
|
|
- default
|
|
ports:
|
|
- "8000:8000"
|
|
- "9000:9000"
|
|
|
|
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:
|
|
# emqx-bridge:
|
|
# driver: bridge
|
|
net:
|
|
external: true
|
|
name: ${NETWORK:-web} |