# Stack wdrażany przez Portainer z gita. Obrazy budowane w CI (Gitea Actions). services: conjurer-radio: image: gitea.czernobog.pl/gitea/conjurer-radio:v0.1.0 container_name: conjurer-radio restart: unless-stopped environment: PULSE_MODE: internal ICECAST_HOSTNAME: radio.czernobog.pl CONJURER_MAIN_BOT: http://192.168.1.73:NODEPORT_BOTA # ← z kroku 2.4 CONJURER_API_KEY: ${CONJURER_API_KEY:-} ports: - "8000:8000" - "5005:5005" - "54321:54321" - "127.0.0.1:9999:9999" # interaktywny harbor TYLKO lokalnie! volumes: - /srv/betoniarka/data:/srv/betoniarka/data - /srv/betoniarka/music:/srv/betoniarka/music - /srv/betoniarka/secrets:/srv/betoniarka/secrets conjurer-musician: image: gitea.czernobog.pl/gitea/conjurer-musician:v0.1.0 container_name: conjurer-musician restart: unless-stopped environment: CONJURER_MUSICIAN_HOST: 0.0.0.0 CONJURER_MUSICIAN_PORT: "5000" CONJURER_MUSIC_FOLDER: /music CONJURER_MUSICIAN_BASE: /data CONJURER_MAIN_BOT: http://192.168.1.73:NODEPORT_BOTA # ↓ współdzielone ze share — te same ścieżki po obu stronach ↓ CONJURER_SHARE_DIR: /var/www/html/share CONJURER_SHARE_DB: /srv/share/db/share_scan.json ports: - "5000:5000" volumes: - /srv/musician/music:/music - /srv/musician/data:/data - /srv/share/links:/var/www/html/share # musician TWORZY symlinki - /srv/share/db:/srv/share/db # share'owy indeks (czyta) - /srv/share/media:/mnt/shares:ro # cele symlinków — TA SAMA ścieżka co w share! conjurer-share: image: gitea.czernobog.pl/gitea/conjurer-share:v0.1.0 container_name: conjurer-share restart: unless-stopped environment: CONJURER_SHARE_SERVER_NAME: czernobog.pl CONJURER_SHARE_SCAN_PATH: /mnt/shares CONJURER_SHARE_DB: /srv/share/db/share_scan.json CONJURER_SHARE_DIR: /var/www/html/share CONJURER_SHARE_TTL_SECONDS: "3600" ports: - "8081:80" volumes: - /srv/share/media:/mnt/shares:ro - /srv/share/links:/var/www/html/share - /srv/share/db:/srv/share/db - /srv/share/logs:/var/log/apache2