245 lines
6.0 KiB
YAML
245 lines
6.0 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: {}
|
|
|
|
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
|
|
|
|
privatebin:
|
|
image: privatebin/nginx-fpm-alpine:latest
|
|
container_name: privatebin
|
|
read_only: true
|
|
user: 1000:1000
|
|
volumes:
|
|
- './privatebin-data:/srv/data' # data volume for pastes allows pastes
|
|
# to persist after container stop or restart
|
|
- './config/conf.php:/srv/cfg/conf.php:ro' # second volume for custom configuration file
|
|
expose:
|
|
- 8080
|
|
restart: unless-stopped
|
|
networks:
|
|
- 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
|
|
|
|
minio-common:
|
|
image: quay.io/minio/minio:RELEASE.2024-04-18T19-09-19Z
|
|
container_name: minio_server
|
|
environment:
|
|
MINIO_ROOT_USER: "${MINIO_ROOT_USER:-minioadmin}"
|
|
MINIO_ROOT_PASSWORD: "${MINIO_ROOT_PASSWORD:-minioadmin}"
|
|
# MINIO_OPTS: "--console-address :9001"
|
|
# MINIO_SERVER_URL: https://drive.furyhawk.lol
|
|
user: "1000:1000"
|
|
restart: unless-stopped
|
|
command: server /data --address :9000 --console-address :9001
|
|
healthcheck:
|
|
test: ["CMD", "mc", "ready", "local"]
|
|
interval: 65s
|
|
timeout: 5s
|
|
retries: 5
|
|
expose:
|
|
- 9000
|
|
- 9001
|
|
networks:
|
|
- net
|
|
- default
|
|
volumes:
|
|
- "./minio-data:/data"
|
|
|
|
streamlit-bai:
|
|
environment:
|
|
<<: *default-environment
|
|
image: furyhawk/beyondallinfo:latest
|
|
container_name: streamlit_bai_app
|
|
restart: unless-stopped
|
|
command: streamlit run --server.port=$STREAMLIT_BAI_SERVER_PORT --server.address=0.0.0.0 --server.baseUrlPath=$BAI_LOCATION src/app.py
|
|
expose:
|
|
- ${STREAMLIT_BAI_SERVER_PORT}
|
|
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
|
|
|
|
neo4j_server:
|
|
# Docker image to be used
|
|
image: ${NEO4J_DOCKER_IMAGE:-neo4j:latest}
|
|
container_name: neo4j_server
|
|
restart: unless-stopped
|
|
# Environment variables
|
|
environment:
|
|
NEO4J_AUTH: neo4j/${NEO4J_PASSWORD:-12345678}
|
|
NEO4J_dbms.default_listen_address: "0.0.0.0"
|
|
NEO4J_dbms.default_advertised_address: "neo4j.furyhawk.lol"
|
|
NEO4J_dbms.connector.bolt.advertised_address: ":443"
|
|
NEO4J_dbms_security_procedures_unrestricted: "apoc.*"
|
|
NEO4J_server_memory_pagecache_size: 512M
|
|
NEO4J_server_memory_heap_max__size: 2G
|
|
user: "1000:1000"
|
|
depends_on:
|
|
- traefik
|
|
volumes:
|
|
- ./neo4j/data:/data
|
|
- ./neo4j/logs:/logs
|
|
# Expose ports
|
|
# ports:
|
|
# - "7474:7474"
|
|
# - "7687:7687"
|
|
networks:
|
|
- net
|
|
- default
|
|
|
|
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
|
|
expose:
|
|
- 8000
|
|
- 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"
|
|
- "7687:7687"
|
|
# - "1883:1883"
|
|
- "8083:8083"
|
|
- "8084:8084"
|
|
- "8883:8883"
|
|
# - 18083:18083
|
|
|
|
networks:
|
|
net:
|
|
external: true
|
|
name: ${NETWORK:-web} |