43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
<div align="center">
|
|
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
|
|
</div>
|
|
|
|
# Email Template Builder
|
|
|
|
Uno strumento visuale per creare, gestire ed esportare template email HTML con placeholder dinamici.
|
|
|
|
## Run Locally
|
|
|
|
**Prerequisites:** Node.js
|
|
|
|
1. Install dependencies: `npm install`
|
|
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
|
|
3. Run the app: `npm run dev`
|
|
|
|
## Deploy with Docker
|
|
|
|
This application can be deployed as a complete stack with its own MySQL database:
|
|
|
|
1. Set your `GEMINI_API_KEY` in the environment variables
|
|
2. Run `docker-compose up -d` to start the stack
|
|
3. Access the application at `http://localhost:3000`
|
|
|
|
The stack includes:
|
|
- Frontend/Backend service (Node.js + React)
|
|
- MySQL database (with persistent data)
|
|
- Automatic database initialization
|
|
|
|
## Deploy on Portainer
|
|
|
|
To deploy on Portainer as a stack:
|
|
|
|
1. Create a new stack in Portainer
|
|
2. Copy the contents of [docker-compose.yml](docker-compose.yml) into the editor
|
|
3. Add your `API_KEY` environment variable in the Portainer interface
|
|
4. Deploy the stack
|
|
|
|
The application will automatically:
|
|
- Create and initialize the MySQL database
|
|
- Start the application service
|
|
- Connect to the internal database
|