OK semua,
Saya sedang mencoba menjalankan container lain di sini. Saya ingin mengeksplorasi InvoiceNinja untuk kemungkinan digunakan dalam bisnis saya. Container dan aplikasi pendukungnya sudah berjalan, tapi saya tidak bisa mengaksesnya. Saya sudah minta bantuan di forum InvoiceNinja dan mereka sudah memberi tahu semua yang mereka tahu… Tapi masih belum berhasil. Mereka menyarankan saya bertanya di sini. Jadi mungkin beberapa ahli Compose di sini bisa membantu saya mencari tahu apa yang salah…
Berikut adalah file compose saya:
services:
app:
build:
context: .
image: invoiceninja/invoiceninja-debian:latest
restart: unless-stopped
env_file:
- /share/Container/invoiceninja/.env
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
volumes:
# - ./php/php.ini:/usr/local/etc/php/conf.d/invoiceninja.ini:ro
# - ./php/php-fpm.conf:/usr/local/etc/php-fpm.d/invoiceninja.conf:ro
# - ./supervisor/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf:ro
- /share/Container/invoiceninja/public:/var/www/html/public
- /share/Container/invoiceninja/storage:/var/www/html/storage
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
nginx:
image: nginx:alpine
restart: unless-stopped
ports:
- "8012:80"
volumes:
- ./share/Container/invoiceninja/nginx:/etc/nginx/conf.d:ro
- /share/Container/invoiceninja/public:/var/www/html/public:ro
- /share/Container/invoiceninja/storage:/var/www/html/storage:ro
depends_on:
app:
condition: service_healthy
mysql:
image: mysql:8
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- /share/Container/invoiceninja/mysql_data:/var/lib/mysql
healthcheck:
test:
[
"CMD",
"mysqladmin",
"ping",
"-h",
"localhost",
"-u${MYSQL_USER}",
"-p${MYSQL_PASSWORD}",
]
redis:
image: redis:alpine
restart: unless-stopped
volumes:
- /share/Container/invoiceninja/redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
Dan karena aplikasi ini menggunakan file .env, berikut file tersebut dengan beberapa bagian yang disensor:
# IN application vars
APP_URL=http://192.168.0.3:8012
APP_KEY=base64:7some_key_code
APP_ENV=production
APP_DEBUG=true
REQUIRE_HTTPS=false
PHANTOMJS_PDF_GENERATION=false
PDF_GENERATOR=snappdf
TRUSTED_PROXIES='*'
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
FILESYSTEM_DISK=debian_docker
# DB connection
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=ninja
DB_USERNAME=ninja
DB_PASSWORD=*******
DB_ROOT_PASSWORD=********
DB_CONNECTION=mysql
# Create initial user
# Default to these values if empty
IN_USER_EMAIL=admin@example.com
IN_PASSWORD=changeme!
# IN_USER_EMAIL=
# IN_PASSWORD=
# Mail options
MAIL_MAILER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS='user@example.com'
MAIL_FROM_NAME='Self Hosted User'
# MySQL
MYSQL_ROOT_PASSWORD=*****
MYSQL_USER=ninja
MYSQL_PASSWORD=*****
MYSQL_DATABASE=ninja
# GoCardless/Nordigen API key for banking integration
NORDIGEN_SECRET_ID=
NORDIGEN_SECRET_KEY=
IS_DOCKER=true
SCOUT_DRIVER=null
#SNAPPDF_CHROMIUM_PATH=/usr/bin/google-chrome-stable
Jadi kontainernya sudah berjalan tapi seperti yang saya bilang - saya tidak bisa mengakses websitenya. Tidak bisa muncul. Di forum InvoiceNinja, pengguna yang membantu saya mengatakan hal berikut:
3. Periksa Konfigurasi Nginx
Anda memiliki mapping volume untuk Nginx:- ./nginx:/etc/nginx/conf.d:ro.
- Pastikan file konfigurasi di dalam folder tersebut sudah benar-benar mengarah ke service
apppada port internal (biasanya 9000 jika menggunakan FPM, atau 8000 jika menggunakan varian web-server).- Jika Anda menggunakan contoh docker-compose standar Invoice Ninja, pastikan
fastcgi_passdiatur keapp:9000.
Jadi saya ubah mapping ./nginx:/etc/nginx/conf.d:ro menjadi ./share/Container/invoiceninja/nginx:/etc/nginx/conf.d:ro
Namun, folder itu tidak dibuat dan jika saya masuk dan memeriksa kontainer Nginx, saya melihat bahwa etc/nginx/conf.d malah dimapping ke /share/ZFS530_DATA/.qpkg/container-station/data/application/invoiceninja/share/Container/invoiceninja/nginx
Kenapa QNAP tidak mengikuti instruksi saya dan mapping container ke lokasi storage yang saya minta? Saya tidak tahu apakah itu akan menyelesaikan masalah saya tapi saya ingin melihat file konfigurasi tersebut dan punya kontrol lebih atasnya.
Apakah ada yang melihat kemungkinan masalah lain di sini?