Add InvoiceShelf (formerly Crater) as a service #3634
Replies: 4 comments 5 replies
-
confirmed working SQLite version of the application
services:
invoiceshelf:
image: 'invoiceshelf/invoiceshelf:latest'
container_name: invoiceshelf
volumes:
- './invoiceshelf_sqlite/data:/data'
- './invoiceshelf_sqlite/conf:/conf'
networks:
- invoiceshelf
environment:
- SERVICE_FQDN_FRONTEND
- PHP_TZ=UTC
- TIMEZONE=UTC
- APP_NAME=Laravel
- APP_ENV=local
- APP_DEBUG=true
- 'APP_URL=http://localhost:80'
- DB_CONNECTION=sqlite
- DB_DATABASE=/var/www/html/InvoiceShelf/database/database.sqlite
- CACHE_STORE=file
- SESSION_DRIVER=file
- SESSION_LIFETIME=120
- SESSION_ENCRYPT=false
- SESSION_PATH=/
- SESSION_DOMAIN=localhost
- 'SANCTUM_STATEFUL_DOMAINS=localhost:90'
- STARTUP_DELAY=
- 'MAIL_DRIVER=${MAIL_DRIVER:-smtp}'
- MAIL_HOST=$MAIL_HOST
- 'MAIL_PORT=${MAIL_PORT:-587}'
- MAIL_USERNAME=$MAIL_USERNAME
- MAIL_PASSWORD=$MAIL_PASSWORD
- 'MAIL_ENCRYPTION=${MAIL_ENCRYPTION:-tls}'
restart: unless-stopped
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:80'
interval: 2s
timeout: 10s
retries: 15
networks:
invoiceshelf: null |
Beta Was this translation helpful? Give feedback.
-
here is another MySQL version
services:
invoiceshelf:
image: 'invoiceshelf/invoiceshelf:latest'
volumes:
- 'invoiceshelf-files:/data'
environment:
- SERVICE_FQDN_INVOICESHELF
- PHP_TZ=UTC
- TIMEZONE=UTC
- APP_NAME=Laravel
- APP_ENV=local
- APP_DEBUG=true
- APP_URL=$SERVICE_FQDN_INVOICESHELF
- DB_CONNECTION=mysql
- DB_HOST=mariadb
- DB_PORT=3306
- DB_DATABASE=invoiceshelf
- DB_USERNAME=$SERVICE_USER_INVOICESHELF
- DB_PASSWORD=$SERVICE_PASSWORD_INVOICESHELF
- DB_PASSWORD_FILE=
- CACHE_STORE=file
- SESSION_DRIVER=file
- SESSION_LIFETIME=120
- SESSION_ENCRYPT=false
- SESSION_PATH=/
- SESSION_DOMAIN=localhost
- 'SANCTUM_STATEFUL_DOMAINS=localhost:90'
- STARTUP_DELAY=
depends_on:
- mariadb
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1'
interval: 2s
timeout: 10s
retries: 10
mariadb:
image: 'mariadb:11.5'
volumes:
- 'mariadb-data:/var/lib/mysql'
environment:
- MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
- MYSQL_DATABASE=invoiceshelf
- MYSQL_USER=$SERVICE_USER_INVOICESHELF
- MYSQL_PASSWORD=$SERVICE_PASSWORD_INVOICESHELF
healthcheck:
test:
- CMD
- healthcheck.sh
- '--connect'
- '--innodb_initialized'
interval: 5s
timeout: 20s
retries: 10
|
Beta Was this translation helpful? Give feedback.
-
here is another MySQL version
services:
postgres:
image: postgres:15
volumes:
- postgres-files:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=invoiceshelf
- POSTGRES_USER=invoiceshelf
- POSTGRES_DB=invoiceshelf
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
invoiceshelf:
image: 'invoiceshelf/invoiceshelf:latest'
volumes:
- 'invoiceshelf-files:/data'
environment:
- SERVICE_FQDN_FRONTEND
- PHP_TZ=UTC
- TIMEZONE=UTC
- APP_NAME=Laravel
- APP_ENV=local
- APP_DEBUG=true
- APP_URL=http://localhost:90
- DB_CONNECTION=pgsql
- DB_HOST=postgres
- DB_PORT=5432
- DB_DATABASE=invoiceshelf
- DB_USERNAME=invoiceshelf
- DB_PASSWORD=invoiceshelf
- CACHE_STORE=file
- SESSION_DRIVER=file
- SESSION_LIFETIME=120
- SESSION_ENCRYPT=false
- SESSION_PATH=/
- SESSION_DOMAIN=localhost
- SANCTUM_STATEFUL_DOMAINS=localhost:90
- STARTUP_DELAY=
#- MAIL_DRIVER=smtp
#- MAIL_HOST=smtp.mailtrap.io
#- MAIL_PORT=2525
#- MAIL_USERNAME=null
#- MAIL_PASSWORD=null
#- MAIL_PASSWORD_FILE=<filename>
#- MAIL_ENCRYPTION=null
depends_on:
- postgres
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1'
interval: 2s
timeout: 10s
retries: 10 |
Beta Was this translation helpful? Give feedback.
-
@rihards-simanovics Please create a PR for this service make sure to use the Coolify magic https://coolify.io/docs/knowledge-base/docker/compose#coolifys-magic-environment-variables |
Beta Was this translation helpful? Give feedback.
-
Docker version of the app available here: https://github.com/InvoiceShelf/docker
Beta Was this translation helpful? Give feedback.
All reactions