add more services

This commit is contained in:
2025-11-18 18:35:35 +00:00
parent 72b2cfb941
commit d742ece243
3 changed files with 296 additions and 5 deletions

52
.env.sample Normal file
View File

@@ -0,0 +1,52 @@
UID=1000
GID=1000
GEMINI_API_KEY=
MET_API_USER_AGENT=
VAPID_SUBJECT=
VAPID_PRIVATE_KEY_BASE64=
VAPID_PUBLIC_KEY_BASE64=
GITEA_DATABASE_PASSWORD=
GITEA_DATABASE_USER=
GITEA_DATABASE_NAME=
GITEA_RUNNER_REGISTRATION_TOKEN=
BESZEL_SSH_PUBLIC_KEY=
CALCOM_TELEMETRY_DISABLED=1
CALCOM_NEXT_PUBLIC_LICENSE_CONSENT=accept
CALCOM_NEXT_PUBLIC_WEBAPP_URL=
CALCOM_NEXT_PUBLIC_API_V2_URL=
CALCOM_NEXTAUTH_SECRET=
CALCOM_CALENDSO_ENCRYPTION_KEY=
CALCOM_DATABASE_USER=
CALCOM_DATABASE_NAME=
CALCOM_DATABASE_PASSWORD=
CALCOM_EMAIL_SERVER_HOST=
CALCOM_EMAIL_SERVER_PORT=
CALCOM_EMAIL_SERVER_USER=
CALCOM_EMAIL_SERVER_PASSWORD=
CALCOM_EMAIL_FROM=
CALCOM_EMAIL_FROM_NAME=
CALCOM_DAILY_API_KEY=
GROQ_API_KEY=
GOOGLE_MAPS_API_KEY=
GOOGLE_URL_SIGNING_SECRET=
BESZEL_HOST=
BESZEL_EMAIL=
BESZEL_PASSWORD=
KIOKU_HOST=
KIOKU_PORT=
MQTT_HOST=
MQTT_PORT=
MQTT_USERNAME=
MQTT_PASSWORD=
WEATHER_LAT=
WEATHER_LON=
ADP_SERVICE_ID=
ADP_TEAM_ID=
ADP_KEY_ID=
ADP_KEY_PATH=

View File

@@ -8,7 +8,7 @@ GITEA_CONTAINER_ID=$(docker ps -qf 'name=^gitea$')
if [ ! -f "/tmp/gitea-backup.zip" ]; then if [ ! -f "/tmp/gitea-backup.zip" ]; then
echo "Dumping Gitea backup..." echo "Dumping Gitea backup..."
docker exec -u git -it -w /tmp $GITEA_CONTAINER_ID bash -c '/usr/local/bin/gitea dump --file gitea-backup.zip -c /etc/gitea/app.ini' docker exec -u git -w /tmp $GITEA_CONTAINER_ID bash -c 'rm -f /tmp/gitea-backup.zip && /usr/local/bin/gitea dump --file gitea-backup.zip -c /etc/gitea/app.ini'
docker cp $GITEA_CONTAINER_ID:/tmp/gitea-backup.zip /tmp/gitea-backup.zip docker cp $GITEA_CONTAINER_ID:/tmp/gitea-backup.zip /tmp/gitea-backup.zip
echo "Gitea backup dumped to /tmp/gitea-backup.zip!" echo "Gitea backup dumped to /tmp/gitea-backup.zip!"
fi fi

View File

@@ -3,6 +3,13 @@ networks:
beszel: beszel:
7am: 7am:
website: website:
calcom:
adguardhome:
zigbee2mqtt:
mosquitto:
iris:
fileone_convex:
eva:
services: services:
7am: 7am:
@@ -38,7 +45,7 @@ services:
- website - website
gitea: gitea:
image: docker.gitea.com/gitea:1.23.7-rootless image: docker.gitea.com/gitea:1.24.3-rootless
container_name: gitea container_name: gitea
environment: environment:
GITEA__database__DB_TYPE: postgres GITEA__database__DB_TYPE: postgres
@@ -56,11 +63,11 @@ services:
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
ports: ports:
- "127.0.0.1:3000:3000" - "127.0.0.1:3000:3000"
- "127.0.0.1:2222:2222" - "127.0.0.1:2222:22"
depends_on: depends_on:
- gitea_db - gitea_db
act_runner: act_runner:
image: docker.io/gitea/act_runner:0.2.11 image: docker.io/gitea/act_runner:0.2.12
environment: environment:
CONFIG_FILE: /data/config.yaml CONFIG_FILE: /data/config.yaml
GITEA_INSTANCE_URL: http://gitea:3000 GITEA_INSTANCE_URL: http://gitea:3000
@@ -68,9 +75,12 @@ services:
GITEA_RUNNER_NAME: helian_runner GITEA_RUNNER_NAME: helian_runner
volumes: volumes:
- ./act_runner/data:/data - ./act_runner/data:/data
- ./act_runner/data:/config.yaml
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
networks: networks:
- gitea - gitea
depends_on:
- gitea
gitea_db: gitea_db:
image: docker.io/library/postgres:14 image: docker.io/library/postgres:14
container_name: gitea_db container_name: gitea_db
@@ -89,7 +99,7 @@ services:
container_name: beszel container_name: beszel
restart: unless-stopped restart: unless-stopped
ports: ports:
- "127.0.0.1:8090:8090" - "8090:8090"
volumes: volumes:
- ./beszel/data:/beszel_data - ./beszel/data:/beszel_data
networks: networks:
@@ -106,3 +116,232 @@ services:
environment: environment:
LISTEN: 45876 LISTEN: 45876
KEY: $BESZEL_SSH_PUBLIC_KEY 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