Container Station, file ENV untuk docker - vs SSH

Dari yang saya pahami, QNAP memang tidak mendukung dan tidak berencana untuk mendukung file .env sebagai bagian dari yaml untuk docker, secara native di container station. Saya melihat bahwa jika saya membuat docker melalui SSH, kontainernya memang muncul di container station - tetapi GUI-nya tidak benar-benar berfungsi (tidak ada perintah, Anda harus SSH lagi untuk mengelola kontainer). Saya tidak keberatan dengan cara ini, tetapi saat saya menggunakan docker compose dengan yaml yang sama melalui SSH, hasilnya tidak pernah berjalan dengan benar - saya kira ada hubungannya dengan virtual switch/jaringan, atau mungkin referensi storage yang tidak terbaca. Saya bisa menggunakan yaml yang sama di container station dan berjalan tanpa masalah.

Apakah ada yang pernah mengalami hal ini? Saya sebenarnya tidak masalah memindahkan variabel ke dalam yaml, tapi saya tidak mengerti kenapa cara lain tidak berhasil. Sayangnya, saya belum cukup paham tentang docker dan linux untuk mengetahui di mana letak masalahnya.

Secara spesifik saya sudah mencoba ini dengan Immich: Docker Compose [Recommended] | Immich

Saya menyerah menggunakan CS penuh untuk docker.

Gunakan CS untuk portainer/dockge lalu gunakan itu untuk admin.

Buat Application baru di CS.

services:
  portainer:
    container_name: portainer-ce
    image: portainer/portainer-ce:latest
    security_opt:
      - no-new-privileges:true
    environment:
      - TZ=America/Toronto
    ports:
      - 9001:8000
      - 9000:9000
      - 9043:9443
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /share/Container/portainer-ce/data:/data:rw
    restart: always

  dockerproxy:
    container_name: dockerproxy
    image: ghcr.io/tecnativa/docker-socket-proxy:latest
    environment:
#      - PUID=1001
#      - PGID=1000
      - TZ=America/Toronto
      - CONTAINERS=1 # Izinkan akses untuk melihat container
      - SERVICES=1 # Izinkan akses untuk melihat service (diperlukan saat menggunakan Docker Swarm)
      - TASKS=1 # Izinkan akses untuk melihat task (diperlukan saat menggunakan Docker Swarm)
      - POST=0 # Tidak mengizinkan operasi POST (hanya-baca)
    ports:
      - 127.0.0.1:2375:2375
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro # Dipasang sebagai hanya-baca
    restart: unless-stopped

Apa itu dockerproxy yang kamu sebutkan? Saya belum pernah menggunakan yang itu, apakah itu memang diperlukan?

Ini berpura-pura menjadi Docker sehingga saya bisa memberikan akses ke Docker daemon untuk semuanya tanpa memberikan akses mentah tanpa filter ke Docker.

Kemungkinan besar Anda tidak membutuhkannya, tapi ini membuat saya merasa lebih nyaman.

Saya baru saja menguji .env dengan docker-compose.yml sederhana di QNAP saya dan semuanya berjalan lancar melalui SSH.

Jika Anda bisa membagikan docker-compose.yml dan file .env Anda (data sensitif bisa dihapus), saya dengan senang hati akan mengujinya untuk Anda dan mencari tahu apa yang mungkin menjadi masalahnya.

Saya menemukan typo di YAML, akar dari semua masalah di sini, jadi semuanya berjalan baik seperti yang kamu katakan!

Saya rasa saya akan mencoba Portainer - jika orang-orang lebih menyukainya daripada CS. Apakah Portainer memungkinkan saya melakukan hal-hal dasar tanpa perlu SSH, bahkan jika saya membuatnya lewat command line (tidak seperti CS)?

Seperti yang saya posting, Anda bisa menjalankan Portainer dengan baik dari CS. Anda bahkan bisa melakukannya sepenuhnya tanpa SSH. Cukup buat Aplikasi baru di CS dan tempelkan YAML.

Saya sarankan sedikit menggunakan SSH untuk menyiapkan share dan storage pool lain.
Saya menggunakan /share/docker/. Jadi apa pun yang dilakukan CS tidak akan pernah menyentuh data saya yang dibuat dengan Portainer.

Menggunakan file .env dari command line (SSH masuk) berjalan dengan baik, seperti yang telah dikatakan orang lain. Saya menjalankan Dockhand di dalam container yang memiliki hak istimewa, lalu saya mengelola semuanya dari sana. Misalnya, dengan file docker-compose.yaml seperti berikut:

volumes:
  dockhand_data:

services:
  dockhand:
    image: fnsys/dockhand:latest
    container_name: dockhand
    restart: unless-stopped
    user: "0:0"
    ports:
      - 3000:3000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dockhand_data:/app/data