2025-05-28 16:32:46 +01:00
|
|
|
networks:
|
|
|
|
|
gitea:
|
|
|
|
|
beszel:
|
|
|
|
|
7am:
|
|
|
|
|
website:
|
2025-11-18 18:35:35 +00:00
|
|
|
calcom:
|
|
|
|
|
adguardhome:
|
|
|
|
|
zigbee2mqtt:
|
|
|
|
|
mosquitto:
|
|
|
|
|
iris:
|
|
|
|
|
fileone_convex:
|
|
|
|
|
eva:
|
2025-05-28 16:32:46 +01:00
|
|
|
|
|
|
|
|
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:
|
2025-11-18 18:35:35 +00:00
|
|
|
image: docker.gitea.com/gitea:1.24.3-rootless
|
2025-05-28 16:32:46 +01:00
|
|
|
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"
|
2025-11-18 18:35:35 +00:00
|
|
|
- "127.0.0.1:2222:22"
|
2025-05-28 16:32:46 +01:00
|
|
|
depends_on:
|
|
|
|
|
- gitea_db
|
|
|
|
|
act_runner:
|
2025-11-18 18:35:35 +00:00
|
|
|
image: docker.io/gitea/act_runner:0.2.12
|
2025-05-28 16:32:46 +01:00
|
|
|
environment:
|
|
|
|
|
CONFIG_FILE: /data/config.yaml
|
|
|
|
|
GITEA_INSTANCE_URL: http://gitea:3000
|
2025-05-28 16:36:52 +01:00
|
|
|
GITEA_RUNNER_REGISTRATION_TOKEN: $GITEA_RUNNER_REGISTRATION_TOKEN
|
2025-05-28 16:32:46 +01:00
|
|
|
GITEA_RUNNER_NAME: helian_runner
|
|
|
|
|
volumes:
|
|
|
|
|
- ./act_runner/data:/data
|
2025-11-18 18:35:35 +00:00
|
|
|
- ./act_runner/data:/config.yaml
|
2025-05-28 16:32:46 +01:00
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
|
networks:
|
|
|
|
|
- gitea
|
2025-11-18 18:35:35 +00:00
|
|
|
depends_on:
|
|
|
|
|
- gitea
|
2025-05-28 16:32:46 +01:00
|
|
|
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:
|
2025-11-18 18:35:35 +00:00
|
|
|
- "8090:8090"
|
2025-05-28 16:32:46 +01:00
|
|
|
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
|
2025-11-18 18:35:35 +00:00
|
|
|
|
|
|
|
|
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
|