networks: gitea: beszel: 7am: website: calcom: adguardhome: zigbee2mqtt: mosquitto: iris: fileone_convex: eva: services: 7am: build: context: ./7am dockerfile: Dockerfile args: uid: $UID gid: $GID container_name: 7am environment: GEMINI_API_KEY: $GEMINI_API_KEY MET_API_USER_AGENT: $MET_API_USER_AGENT VAPID_SUBJECT: $VAPID_SUBJECT VAPID_PRIVATE_KEY_BASE64: $VAPID_PRIVATE_KEY_BASE64 VAPID_PUBLIC_KEY_BASE64: $VAPID_PUBLIC_KEY_BASE64 ports: - "127.0.0.1:8080:8080" volumes: - ./7am/data:/app/data networks: - 7am website: build: context: ./website dockerfile: Dockerfile restart: unless-stopped container_name: website ports: - "127.0.0.1:5432:80" networks: - website gitea: image: docker.gitea.com/gitea:1.24.3-rootless container_name: gitea environment: GITEA__database__DB_TYPE: postgres GITEA__database__HOST: gitea_db:5432 GITEA__database__NAME: $GITEA_DATABASE_NAME GITEA__database__USER: $GITEA_DATABASE_USER GITEA__database__PASSWD: $GITEA_DATABASE_PASSWORD restart: always networks: - gitea volumes: - ./gitea/data:/var/lib/gitea - ./gitea/config:/etc/gitea - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "127.0.0.1:3000:3000" - "127.0.0.1:2222:22" depends_on: - gitea_db act_runner: image: docker.io/gitea/act_runner:0.2.12 environment: CONFIG_FILE: /data/config.yaml GITEA_INSTANCE_URL: http://gitea:3000 GITEA_RUNNER_REGISTRATION_TOKEN: $GITEA_RUNNER_REGISTRATION_TOKEN GITEA_RUNNER_NAME: helian_runner volumes: - ./act_runner/data:/data - ./act_runner/data:/config.yaml - /var/run/docker.sock:/var/run/docker.sock networks: - gitea depends_on: - gitea gitea_db: image: docker.io/library/postgres:14 container_name: gitea_db restart: always environment: POSTGRES_USER: $GITEA_DATABASE_USER POSTGRES_PASSWORD: $GITEA_DATABASE_PASSWORD POSTGRES_DB: $GITEA_DATABASE_NAME networks: - gitea volumes: - ./gitea/postgres:/var/lib/postgresql/data beszel: image: henrygd/beszel container_name: beszel restart: unless-stopped ports: - "8090:8090" volumes: - ./beszel/data:/beszel_data networks: - beszel beszel_agent: image: henrygd/beszel-agent container_name: beszel_agent restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # monitor other disks / partitions by mounting a folder in /extra-filesystems # - /mnt/disk/.beszel:/extra-filesystems/sda1:ro environment: LISTEN: 45876 KEY: $BESZEL_SSH_PUBLIC_KEY calcom: image: calcom.docker.scarf.sh/calcom/cal.com build: context: ./calcom-docker dockerfile: Dockerfile args: NEXT_PUBLIC_WEBAPP_URL: ${CALCOM_NEXT_PUBLIC_WEBAPP_URL} NEXT_PUBLIC_API_V2_URL: ${CALCOM_NEXT_PUBLIC_API_V2_URL} NEXT_PUBLIC_LICENSE_CONSENT: ${CALCOM_NEXT_PUBLIC_LICENSE_CONSENT} CALCOM_TELEMETRY_DISABLED: ${CALCOM_TELEMETRY_DISABLED} NEXTAUTH_SECRET: ${CALCOM_NEXTAUTH_SECRET} CALENDSO_ENCRYPTION_KEY: ${CALCOM_CALENDSO_ENCRYPTION_KEY} DATABASE_URL: postgresql://${CALCOM_DATABASE_USER}:${CALCOM_DATABASE_PASSWORD}@calcom_db:5432/${CALCOM_DATABASE_NAME} DATABASE_DIRECT_URL: postgresql://${CALCOM_DATABASE_USER}:${CALCOM_DATABASE_PASSWORD}@calcom_db:5432/${CALCOM_DATABASE_NAME} environment: DATABASE_URL: postgresql://${CALCOM_DATABASE_USER}:${CALCOM_DATABASE_PASSWORD}@calcom_db:5432/${CALCOM_DATABASE_NAME} DATABASE_DIRECT_URL: postgresql://${CALCOM_DATABASE_USER}:${CALCOM_DATABASE_PASSWORD}@calcom_db:5432/${CALCOM_DATABASE_NAME} NEXTAUTH_SECRET: ${CALCOM_NEXTAUTH_SECRET} CALENDSO_ENCRYPTION_KEY: ${CALCOM_CALENDSO_ENCRYPTION_KEY} EMAIL_SERVER_HOST: ${CALCOM_EMAIL_SERVER_HOST} EMAIL_SERVER_PORT: ${CALCOM_EMAIL_SERVER_PORT} EMAIL_SERVER_USER: ${CALCOM_EMAIL_SERVER_USER} EMAIL_SERVER_PASSWORD: ${CALCOM_EMAIL_SERVER_PASSWORD} EMAIL_FROM: ${CALCOM_EMAIL_FROM} EMAIL_FROM_NAME: ${CALCOM_EMAIL_FROM_NAME} DAILY_API_KEY: ${CALCOM_DAILY_API_KEY} ports: - "127.0.0.1:3001:3000" networks: - calcom depends_on: - calcom_db calcom_db: image: postgres restart: always volumes: - ./calcom_data/postgres:/var/lib/postgresql/data environment: POSTGRES_USER: $CALCOM_DATABASE_USER POSTGRES_PASSWORD: $CALCOM_DATABASE_PASSWORD POSTGRES_DB: $CALCOM_DATABASE_NAME networks: - calcom adguardhome: image: adguard/adguardhome container_name: adguardhome ports: - 53:53/tcp - 53:53/udp - 784:784/udp - 853:853/tcp - 3002:3000/tcp - 81:81/tcp - 443:443/tcp volumes: - ./adguardhome/workdir:/opt/adguardhome/work - ./adguardhome/confdir:/opt/adguardhome/conf restart: unless-stopped networks: - adguardhome mosquitto: container_name: mosquitto image: eclipse-mosquitto:2.0.22-openssl user: 1000:1000 volumes: - ./mosquitto/certs:/mosquitto/config/certs - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data - ./mosquitto/log:/mosquitto/log ports: - 1883:1883 networks: - mosquitto zigbee2mqtt: container_name: zigbee2mqtt image: ghcr.io/koenkk/zigbee2mqtt restart: unless-stopped volumes: - ./zigbee2mqtt/data:/app/data - /run/udev:/run/udev:ro ports: # Frontend port - 3003:8080 environment: - TZ=Europe/London devices: - /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_547c47c89b74ef11bfadca8c8fcc3fa0-if00-port0:/dev/ttyACM0 networks: - zigbee2mqtt - mosquitto depends_on: - mosquitto iris_server: container_name: iris_server image: cr.nym.sh/iris-server:latest restart: unless-stopped ports: - 8081:8000 environment: GROQ_API_KEY: $GROQ_API_KEY GOOGLE_MAPS_API_KEY: $GOOGLE_MAPS_API_KEY GOOGLE_URL_SIGNING_SECRET: $GOOGLE_URL_SIGNING_SECRET BESZEL_HOST: $BESZEL_HOST BESZEL_EMAIL: $BESZEL_EMAIL BESZEL_PASSWORD: $BESZEL_PASSWORD KIOKU_HOST: $KIOKU_HOST KIOKU_PORT: $KIOKU_PORT MQTT_HOST: $MQTT_HOST MQTT_PORT: $MQTT_PORT MQTT_USERNAME: $MQTT_USERNAME MQTT_PASSWORD: $MQTT_PASSWORD networks: - iris - beszel nexus_dashboard: container_name: nexus_dashboard image: cr.nym.sh/nexus-dashboard:latest restart: unless-stopped ports: - 3004:80 networks: - iris depends_on: - iris_server fileone_dev_backend: # Change this to :${REV} if you want to pin to a specific version image: ghcr.io/get-convex/convex-backend:latest stop_grace_period: 10s stop_signal: SIGINT ports: - "${PORT:-3210}:3210" - "${SITE_PROXY_PORT:-3211}:3211" volumes: - ./fileone/data:/convex/data environment: - INSTANCE_NAME - INSTANCE_SECRET - CONVEX_RELEASE_VERSION_DEV - ACTIONS_USER_TIMEOUT_SECS - CONVEX_CLOUD_ORIGIN=${FILEONE_CONVEX_CLOUD_ORIGIN:-http://127.0.0.1:${PORT:-3210}} - CONVEX_SITE_ORIGIN=${FILEONE_CONVEX_SITE_ORIGIN:-http://127.0.0.1:${SITE_PROXY_PORT:-3211}} - DATABASE_URL - DISABLE_BEACON - REDACT_LOGS_TO_CLIENT - DO_NOT_REQUIRE_SSL - POSTGRES_URL - MYSQL_URL - RUST_LOG=${RUST_LOG:-info} - RUST_BACKTRACE - AWS_REGION - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY - AWS_SESSION_TOKEN - AWS_S3_FORCE_PATH_STYLE - AWS_S3_DISABLE_SSE - AWS_S3_DISABLE_CHECKSUMS - S3_STORAGE_EXPORTS_BUCKET - S3_STORAGE_SNAPSHOT_IMPORTS_BUCKET - S3_STORAGE_MODULES_BUCKET - S3_STORAGE_FILES_BUCKET - S3_STORAGE_SEARCH_BUCKET - S3_ENDPOINT_URL healthcheck: test: curl -f http://localhost:3210/version interval: 5s start_period: 10s networks: - fileone_convex fileone_convex_dashboard: # Change this to :${REV} if you want to pin to a specific version image: ghcr.io/get-convex/convex-dashboard:latest stop_grace_period: 10s stop_signal: SIGINT ports: - "${DASHBOARD_PORT:-6791}:6791" environment: - NEXT_PUBLIC_DEPLOYMENT_URL=${FILEONE_CONVEX_DEPLOYMENT_URL:-http://127.0.0.1:${PORT:-3210}} depends_on: fileone_dev_backend: condition: service_healthy networks: - fileone_convex homebridge: image: homebridge/homebridge:latest restart: always network_mode: host volumes: - ./homebridge:/homebridge logging: driver: json-file options: max-size: "10mb" max-file: "1" eva: container_name: eva image: cr.nym.sh/kennethnym/eva:main-3af86d8 restart: unless-stopped ports: - 8082:8000 environment: - WEATHER_LAT - WEATHER_LON - ADP_SERVICE_ID - ADP_TEAM_ID - ADP_KEY_ID - ADP_KEY_PATH - GEMINI_API_KEY - BESZEL_HOST - BESZEL_EMAIL - BESZEL_PASSWORD - MQTT_HOST - MQTT_PORT - MQTT_USERNAME - MQTT_PASSWORD networks: - eva - beszel - mosquitto volumes: - ./eva/adp_auth_key.p8:/app/apps/backend/adp_auth_key.p8