No description
  • PHP 51.7%
  • TypeScript 26.5%
  • Twig 10.3%
  • Vue 9.6%
  • JavaScript 1%
  • Other 0.8%
Find a file
TheRealDarklord bc371e995b chore: updated docker setup
The Dockerfile was outdated since it still referred to NodeJS 18. It now uses recommended procedures to install node environment and composer.

To ease the use of the docker setup the project does not need to be checked out locally since that is now part of the image building process.

The heuristic waiting time of 10 seconds inside of the entrypoint script got removed. The docker compose example file now contains a health check and a dependency to a healthy database service before the web service will be started. Therefore there is no need in estimated waiting times to reliably "ensure" the database is ready for connections.

The resulting app image will now have `tiny` as an embedded binary. This enables signal handling when using the custom entrypoint script and allows proper compose down even in podman environments.
2025-01-13 18:49:00 +01:00
assets chore: reworked promises 2024-05-01 18:21:50 +02:00
bin project update 2021-07-03 23:44:21 +02:00
config chore: recipe update 2023-08-08 17:42:58 +02:00
docker chore: updated docker setup 2025-01-13 18:49:00 +01:00
migrations added color property for cash flow groups 2021-07-07 22:51:25 +02:00
public chore: composer recipe update 2023-07-23 01:38:16 +02:00
src chore: deprecations 2023-08-06 22:23:42 +02:00
templates feat: template optimizations 2023-08-06 22:28:22 +02:00
tests chore: composer recipe update 2023-07-23 01:38:16 +02:00
translations cash flow group list extended 2021-07-07 22:56:03 +02:00
.env chore: composer recipes update 2023-08-06 18:00:20 +02:00
.env.test project 2021-04-10 23:25:31 +02:00
.gitignore chore: ignore list updated 2024-12-23 22:36:41 +01:00
composer.json chore: updated Symfony to 6.4 2024-05-01 18:24:26 +02:00
composer.lock chore: composer update 2024-12-23 22:35:35 +01:00
docker-compose.yaml chore: updated docker setup 2025-01-13 18:49:00 +01:00
Dockerfile chore: updated docker setup 2025-01-13 18:49:00 +01:00
LICENSE Add initial set of files 2021-01-06 01:45:09 +01:00
package.json chore: cleanup for packages 2023-08-16 16:35:37 +02:00
phpstan.neon chore: composer recipe update 2023-07-29 22:16:13 +02:00
phpunit.xml.dist chore: composer recipes update 2023-08-06 20:35:22 +02:00
README.md chore: updated docker setup 2025-01-13 18:49:00 +01:00
rector.php easier rector call 2021-12-30 11:58:53 +01:00
symfony.lock chore: recipe update 2023-08-08 17:42:58 +02:00
tsconfig.json project update 2022-05-29 01:48:01 +02:00
webpack.config.js fix: added vue feature flags 2023-08-09 19:00:15 +02:00
yarn.lock chore: cleanup for packages 2023-08-16 16:35:37 +02:00

1 - Custom deployment

1.1 - runtime requirements

  • php 8.1

1.2 - Installation instructions

  • clone repository or choose a download from release page
  • create .env.local file
    • APP_SECRET: set to a custom value
    • DATABASE_URL: set by using an example line from .env file
  • run composer install --no-dev
  • run yarn install
  • run npm run build
  • create and update the database by running php bin/console doctrine:migrations:migrate
  • add at least two accounts by issuing php bin/console app:account:create <accountname>

1.3 - Update/Upgrade instructions

  • pull target version from the repository or download from release page
  • run composer install --no-dev to refresh/create dependencies
  • run yarn install to refresh/create node modules
  • run npm run build to refresh/create assets
  • update the database by running php bin/console doctrine:migrations:migrate

2 - Docker deployment

2.1 - Installation instructions

  • download docker-compose.yaml.sample and Dockerfile from repository or copy them from an already downloaded release
  • rename docker-compose.yaml.sample to docker-compose.yaml and change APP_VERSION of the build section of the web service to valid release version
  • create .env.local file
    • APP_SECRET: set to a custom value
    • MYSQL_DATABASE: will be used to tell the mariadb service the name of the database which stores the data
    • MYSQL_PASSWORD: will be used by the app's user when connecting to the database service
    • MYSQL_ROOT_PASSWORD: will NOT be used by the app but will be passed to the mariadb service to secure the root user
    • MYSQL_USER: will be the app's user for database service connections
    • MYSQL_VERSION: will be the version of the database service image
    • DATABASE_URL="mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@database:3306/${MYSQL_DATABASE}?serverVersion=${MYSQL_VERSION}-MariaDB": you can copy this line for docker setups since the dynamic values will be derived from the above environment vars
  • run docker-compose up -d to start the environment
  • wait a moment till all images are downloaded, built and the entrypoint script is done
    • explanation: the entrypoint script of the dockerfile will do needed database creation/migration
  • add at least two accounts by issuing docker exec -it mymoney_web_1 php ./bin/console app:account:create <accountname>

2.2 - Update/Upgrade instructions

To trigger an upgrade to a newer release change the APP_VERSION in the build section of the web service and issue the following command docker-compose up -d --build.

The entrypoint script of the release does the needed build steps for updating the database. All required assets will be created when building the image from the targeted release. No further actions required.