Code Monkey home page Code Monkey logo

docker's Introduction

Introduction

InvoiceShelf is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.

InvoiceShelf is a fork of Crater that focuses in stability, updates and new features.

The Web Application is made using Laravel & VueJS while the Mobile Apps are built using React Native.

NOTE: The docker image files are moved into a separate repository InvoiceShelf/docker.

Table of Contents

  1. Documentation
  2. Download
  3. Mobile Apps
  4. Discord - NEW 🔥
  5. Roadmap
  6. Credits
  7. Help us translate
  8. License

Documentation

Download

Mobile Apps

  • Andorid - Coming Soon
  • IOS - Coming Soon
  • Source

Discord

Join the InvoiceShelf discord server to discuss: Invite Link

Roadmap

~~Here's a rough roadmap of things to come (not in any specific order):

  • Automatic Update
  • Email Configuration
  • Installation Wizard
  • Address Customisation & Default notes
  • Edit Email before Sending Invoice
  • Available as a docker image
  • Performance Improvements
  • Customer View page
  • Add and Use Custom Fields on Invoices & Estimates.
  • Multiple Companies
  • Recurring Invoices
  • Customer Portal
  • Accept Payments (Stripe Integration)
  • White Labeling (Easy Invoice, Email & Consumer Portal Theme customisation)
  • Modules API
  • Blockchain Integration
  • Web 3.0 Accounting
  • Vendors & Bills
  • Inventory Management
  • Payment Reminders
  • Improve Accessibility
  • Debit & Credit Notes
  • Time Tracking
  • Full service Payroll

Copyright

  • © 2024 IDEOLOGIX MEDIA DOOEL.
  • © 2022 Crater Invoice, Inc

Special thanks to:

Translate

Help us translate on https://crowdin.com/project/invoiceshelf

Thanks to Translation Contributors:

License

InvoiceShelf is released under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. See LICENSE for details.

docker's People

Contributors

gdarko avatar sebarnd avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

docker's Issues

Docker-compose Setup broken for application container

I followed the documentation by creating a copy of my own docker-compose.yaml file like the docs mention. Howeever when I try to start the setup I will encounter a loop for the invoiceshelf app container retrying to check & fix permissions in a loop like the following:
image

I also tried to rebuild manually the docker images locally and rerun it. However this was not possible for me.
However, I found a solution at least to start the application server by manually running the following by running the application server as a stand-alone container:

docker run -d \                                                                                                                                                       
--name=invoiceshelf22 \
-v /host_path/invoiceshelf/conf:/conf \
-v /host_path/invoiceshelf/uploads:/uploads \
-v /host_path/invoiceshelf/sym:/sym \
-e PUID=1000 \
-e PGID=1000 \
-e PHP_TZ=UTC \
-e TIMEZONE=UTC \
-e DB_CONNECTION=mysql \
-e DB_HOST=invoiceshelf_db \
-e DB_PORT=3306 \
-e DB_DATABASE=invoiceshelf \
-e DB_USERNAME=invoiceshelf \
-e DB_PASSWORD=invoiceshelf \
-p 90:80 \
--net invoiceshelf_invoiceshelf \
--link invoiceshelf_db \
invoiceshelf/invoiceshelf

For the database I simply started only the database container from the compose setup to verify a working solution.
What I noticed:

  • current setup against the latest release is currently not working for me
  • Using the SKIP_PERMISSIONS_CHECKS=true env variable does not seem to work (I added it as env value to the docker-compose file as well as setting it in addition before the actual docker-compose command.
  • Interestingly when I modify the STARTUP_DELAY value it will apply to my setup and work with the provided value.

I did not find the exact location of this issue, but I assume it is somewhere while running the inject.sh or entrypoint.sh scripts.

For reference here is the discord thread: https://discord.com/channels/1200813332551192606/1200907372210696354/1207261262992384030

Found a workaround with v1.1.0: the env variabe SKIP_PERMISSIONS_CHECKS expects the value yes instead of a boolean:
- STARTUP_DELAY=3 - SKIP_PERMISSIONS_CHECKS=yes

Enable scheduled nightly build

Would love to see nightly docker builds re-enabled again. The workflow looks fine and I guess the errors that are caused by the secret variables are solved since the other workflows run successfully.

Public storage not symlinked

The path for /storage/something in the public folder of the application isn't symlinked to the storage folder, causing files to not load and requiring a manual symlink to be created.

CSRF Token missmatch

Describe the bug
I restarted InvoiceShelf once after the installation with docker-compose. Then I could no longer log in. The strange thing is that it is reported that I was successfully logged in.

Expected behavior
A successful login with redirection to the dashboard.

Screenshots
Bildschirmfoto 2024-05-30 um 13 12 15

Please complete the following information:

  • InvoiceShelf version: 1.2.2 (release)
  • PHP version: 8.2
  • Database type and version: MariaDB 10.11.8-MariaDB-ubu2204

Optional info

  • OS: [e.g. Ubuntu] MacOS
  • Browser: [e.g. chrome, safari] Chrome

[Bug] Creating Backups fails

Describe the bug
Creating a backup results in an error Undefiend constant: Spatie\Backup\Tasks\Backup\SIGINT.

image

local_public / local_private nor backup type changes this behavior.

Expected behavior
Create a backup without error.

Additional info
How should a backup be restored? Didn't see anything during setup/menu option. Enter docker (for me) and execute restore directly on the database via cli?

Please complete the following information:

  • InvoiceShelf version: docker-compose (invoiceshelf/invoiceshelf:latest) - 1.1.0
  • PHP version: bundled
  • Database type and version: bundled

Optional info

  • OS: docker host: debian arm64
  • Browser: Firefox
docker-compose.yml
#-------------------------------------------
#  Docker Compose
#  - Darko Gjorgjijoski
# Repo : https://github.com/InvoiceShelf/docker
#-------------------------------------------

version: '3'

services:
   invoiceshelf_db:
     container_name: invoiceshelf_db
     image: mariadb:10
     environment:
       - MYSQL_ROOT_PASSWORD=randompw
       - MYSQL_DATABASE=invoiceshelf
       - MYSQL_USER=invoiceshelf
       - MYSQL_PASSWORD=randompw
     expose: 
       - 3306
     volumes:
       - mysql:/var/lib/mysql
     networks:
       - invoiceshelf
     restart: unless-stopped

   invoiceshelf:
     image: invoiceshelf/invoiceshelf
     container_name: invoiceshelf
     ports:
       - 90:80
     volumes:
       - ./invoiceshelf/data:/data
     networks:
       - invoiceshelf
     environment:
       - PUID=1000
       - PGID=1000
       - USER=invoiceshelf
       - PHP_TZ=UTC
       - TIMEZONE=UTC
       - DB_CONNECTION=mysql
       - DB_HOST=invoiceshelf_db
       - DB_PORT=3306
       - DB_DATABASE=invoiceshelf
       - DB_USERNAME=invoiceshelf
       - DB_PASSWORD=randompw
       - STARTUP_DELAY=0
     restart: unless-stopped
     depends_on:
       - invoiceshelf_db

networks:
   invoiceshelf:

volumes:
    mysql:

[Bug] Asset Management broken?

Describe the bug
Updating user/company avatars uploads the files correctly to /invoiceshelf/data/app/public/<asset_number>/<filename> but the get request to /storage/<asset_number>/<filename> results in a 404.

Expected behavior
Return the (correct) asset.

Additional info
Seems to be related to crater issue 1222 and crater PR 1226

Please complete the following information:

  • InvoiceShelf version: docker-compose (invoiceshelf/invoiceshelf:latest) - 1.1.0
  • PHP version: bundled
  • Database type and version: bundled

Optional info

  • OS: docker host: debian arm64
  • Browser: Firefox
docker-compose.yml
#-------------------------------------------
#  Docker Compose
#  - Darko Gjorgjijoski
# Repo : https://github.com/InvoiceShelf/docker
#-------------------------------------------

version: '3'

services:
   invoiceshelf_db:
     container_name: invoiceshelf_db
     image: mariadb:10
     environment:
       - MYSQL_ROOT_PASSWORD=randompw
       - MYSQL_DATABASE=invoiceshelf
       - MYSQL_USER=invoiceshelf
       - MYSQL_PASSWORD=randompw
     expose: 
       - 3306
     volumes:
       - mysql:/var/lib/mysql
     networks:
       - invoiceshelf
     restart: unless-stopped

   invoiceshelf:
     image: invoiceshelf/invoiceshelf
     container_name: invoiceshelf
     ports:
       - 90:80
     volumes:
       - ./invoiceshelf/data:/data
     networks:
       - invoiceshelf
     environment:
       - PUID=1000
       - PGID=1000
       - USER=invoiceshelf
       - PHP_TZ=UTC
       - TIMEZONE=UTC
       - DB_CONNECTION=mysql
       - DB_HOST=invoiceshelf_db
       - DB_PORT=3306
       - DB_DATABASE=invoiceshelf
       - DB_USERNAME=invoiceshelf
       - DB_PASSWORD=randompw
       - STARTUP_DELAY=0
     restart: unless-stopped
     depends_on:
       - invoiceshelf_db

networks:
   invoiceshelf:

volumes:
    mysql:

[bug] Summary returns 403

The tax/sales etc. reports return a big dark 403 screen where the PDF is supposed to be.
"GET /reports/tax-summary/EKVBD0mWlxA6xOA1nPLY?from_date=2024-03-01&to_date=2024-03-31 HTTP/1.0" 403 6622

Create Backup not working error: mysqldump not found using Docker image

Describe the bug

Creating backups from inside the settings menu is not working with error: mysqldump not found

2024-05-20 07_36_36-InvoiceShelf - Self Hosted Invoicing Platform - Work - Microsoft​ Edge

Please complete the following information:

  • InvoiceShelf version: 1.2.2
  • PHP version:
  • Database type and version: MySQL

Optional info

  • Docker Environment
  • OS: CoreOS
  • Browser: Edge

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.