#57 Add .dockerignore & set additional variables & update readme accordingly

This commit is contained in:
Daniel Brendel
2024-01-08 03:20:02 +01:00
parent 31bf0ab599
commit 2ae1ad8726
3 changed files with 44 additions and 41 deletions
+1
View File
@@ -0,0 +1 @@
.env
+41 -39
View File
@@ -27,34 +27,34 @@ which plants need special care, user authentication, tasks, inventory management
users have taken. The system features collaborative management, so you can manage your plants with multiple users.
## Features
- 🪴Plant management
- 🏠Custom locations
- 📜Tasks system
- 📖Inventory system
- 🔍Search feature
- 🕰️History feature
- 💬Group chat
- ⚙️Profile management
- 🔑Admin dashboard
- 📢Reminders
- 🪴 Plant management
- 🏠 Custom locations
- 📜 Tasks system
- 📖 Inventory system
- 🔍 Search feature
- 🕰️ History feature
- 💬 Group chat
- ⚙️ Profile management
- 🔑 Admin dashboard
- 📢 Reminders
## Resources
- [Official Homepage](https://www.hortusfox.com/)
- [Documentation](https://hortusfox.github.io/)
## Installation
1. [Docker and Docker Compose (Recommended)](#docker-and-docker-compose)
2. [Manual installation](#manual-installation)
3. [Using the Installer](#installer)
1. [Docker and Docker Compose](#docker-and-docker-compose)
2. [Using the Installer](#installer)
3. [Manual installation](#manual-installation)
### Docker and Docker Compose
Using Docker and Docker Compose simplifies the setup process and ensures consistency across different environments. Follow these steps:
Using Docker and Docker Compose simplifies the setup process and ensures consistency across different environments.
Prerequisites
- Docker installed on your system
- Docker Compose installed on your system
Steps
Follow these steps:
1. Clone the repository:
@@ -63,16 +63,8 @@ git clone git@github.com:danielbrendel/hortusfox-web.git
cd hortusfox-web
```
2. Run the application using Docker Compose:
2. Set environment variables
```shell
docker-compose up -d
```
3. The application should now be running on http://localhost:8080.
### Environment Variables
Configure the application using environment variables.
Set these in your docker-compose.yml file:
@@ -85,9 +77,33 @@ Set these in your docker-compose.yml file:
| DB_USERNAME | Database user | root | Yes |
| DB_PASSWORD | Database password | my-secret-pw | Yes |
| APP_DEBUG | Enable debug mode | false | No |
| APP_SESSION | Enable sessions | true | Yes |
| HORTUSFOX_ADMIN | Default admin email | admin@example.com | No |
| HORTUSFOX_PASSWORD | Default admin password | Auto-generated | No |
3. Make the image and run the application using Docker Compose:
```shell
docker build ./ -t danielbrendel/hortusfox-web:latest
docker-compose up -d
```
4. The application should now be running on http://localhost:8080.
### Installer
You can also use the integrated installer in order to install the product. In order for that to do, be sure that you are not running the
system via the internal asatru development server. Instead you might want to, for instance, run the system from the context of a webserver
environment like XAMPP. If you do that, just create a file named do_install (no file extension) in the root directory of the project and
browse to the installer and the system will guide you through the installation process.
```
http://localhost/install
```
Be sure that PHP is installed and both your webserver and mysql server are running. If there is no vendor folder already created then
the system will try to run Composer in order to install all required dependencies. For that to work you need to have Composer installed
on your system. Altough the system tries to create the database for you, sometimes this might fail, so you will have to create the
database before running the installation. However all table migrations will then be created by the system. The system can then be managed
via the admin section (e.g. environment settings, users, locations).
### Manual Installation
In order to install HortusFox you need to first setup a PHP environment along with a MySQL database
@@ -221,23 +237,9 @@ INSERT INTO `locations` (`id`, `name`, `icon`, `active`, `created_at`) VALUES
);
```
The mandatory fields are name of location (e.g. garden, living room, kitchen, etc) as well as the FontAwesome icon to be used.
You can use all free FontAwesome icons. For a complete list of available icons, visit the <a href="https://fontawesome.com/v5/search?m=free">FontAwesome search page</a>. Note that you can then manage various aspects of the system via the admin section when logged in as a user with admin privileges.
You can use all free FontAwesome icons (v5.15.4 free icons). For a complete list of available icons, visit the <a href="https://fontawesome.com/v5/search?m=free">FontAwesome search page</a>. Note that you can then manage various aspects of the system via the admin section when logged in as a user with admin privileges.
Additionally you might want to build the <a href="https://github.com/danielbrendel/hortusfox-app-android">android mobile app</a> for your users.
### Installer
You can also use the integrated installer in order to install the product. In order for that to do, be sure that you are not running the
system via the internal asatru development server. Instead you might want to, for instance, run the system from the context of a webserver
environment like XAMPP. If you do that, just create a file named do_install (no file extension) in the root directory of the project and
browse to the installer and the system will guide you through the installation process.
```
http://localhost/install
```
Be sure that PHP is installed and both your webserver and mysql server are running. If there is no vendor folder already created then
the system will try to run Composer in order to install all required dependencies. For that to work you need to have Composer installed
on your system. Altough the system tries to create the database for you, sometimes this might fail, so you will have to create the
database before running the installation. However all table migrations will then be created by the system. The system can then be managed
via the admin section (e.g. environment settings, users, locations).
## Cronjobs
Cronjobs are used to regularly execute a specific task. For each cronjob you need to set the cronjob parameter with your token set via APP_CRONPW. The following cronjobs are available:
```sh
+2 -2
View File
@@ -6,9 +6,9 @@ services:
ports:
- "8080:80"
environment:
APP_DEBUG: "false"
APP_DEBUG: "true"
APP_BASEDIR: ""
APP_SESSION: "false"
APP_SESSION: "true"
APP_LANG: "en"
APP_WORKSPACE: "My home"
APP_ENABLESCROLLER: "true"