Files
api/docker-compose.example.yml
T
Jepp9350 0987140e61 Add containerization and improve economic invoice handling
Introduce Docker support with a Dockerfile and example docker-compose setup, enlisting services like MySQL and Redis. Enhance economic invoice drafts with support for dimensions while restructuring related logic and schemas for better maintenance and clarity.
2025-01-28 11:50:12 +01:00

73 lines
2.7 KiB
YAML

version: '3.9'
services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: php_app
ports:
- "8080:80" # Map port 80 in the container to port 8080 on the host
volumes:
- .:/var/www/html # Mount the current directory to the container
- ./logs:/var/log/apache2 # Mount logs to be accessible on the host
environment:
# Pass environment variables for the application
DEBUG: true
USE_ENV: true
CONFIG_TIMEZONE: "Europe/Copenhagen" # Set the timezone
# Database configuration
CONFIG_DB_HOST: db
CONFIG_DB_USER: root
CONFIG_DB_PASSWORD: example_password
CONFIG_DB_DATABASE: example_db
# Security configuration
ENCRYPTION_KEY: "" # Set the encryption key
CORS: "*"
# Economic API credentials
ECONOMIC_API_APP_ACCESS_GRANT: "" # Economic API access grant token (1)
ECONOMIC_API_APP_ACCESS_GRANT2: "" # Economic API access grant token (2)
ECONOMIC_API_APP_SECRET_TOKEN: "" # Economic API secret token
# WordPress configuration
WORDPRESS_API_URL: "" # WordPress API URL (e.g. https://www.example.com/wp-admin/admin-ajax.php)
WORDPRESS_STATIC_TOKEN: "" # WordPress static token for authentication
EMAIL_WASH_CERTIFICATE_TOKEN: "" # Email wash certificate token
# MINIO configuration
MINIO_ENDPOINT: "" # Minio endpoint (e.g. http://localhost:9000)
MINIO_ACCESS_KEY: "" # Minio access key
MINIO_SECRET_KEY: "" # Minio secret key
# Redis configuration
REDIS_CONFIG_HOST: redis
REDIS_CONFIG_DATABASE: 0
REDIS_CONFIG_PASSWORD: ""
# Slack configuration
SLACK_DEFAULT_WEBHOOK: "" # Slack default webhook URL
depends_on:
- db
- redis
db:
image: mysql:8.0
container_name: mysql
ports:
- "3306:3306" # Map MySQL container's port 3306 to the host
volumes:
- db_data:/var/lib/mysql # Persist database data
environment:
MYSQL_ROOT_PASSWORD: example_password
MYSQL_DATABASE: example_db
MYSQL_USER: app_user
MYSQL_PASSWORD: app_password
redis:
image: redis:6.2
container_name: redis
ports:
- "6379:6379" # Map Redis container's port 6379 to the host
volumes:
- redis_data:/data # Persist Redis data
volumes:
db_data: # Persistent data for MySQL
redis_data: # Persistent data for Redis