upodate to node.js
This commit is contained in:
parent
0663a7c6bc
commit
65866de63b
|
|
@ -0,0 +1,21 @@
|
|||
services:
|
||||
email-api:
|
||||
container_name: email-api
|
||||
image: python:3.12-slim
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
volumes:
|
||||
- ./email_api:/app
|
||||
- /var/mail:/var/mail # Maildir-Zugriff für Health-Check
|
||||
working_dir: /app
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- API_TOKEN=${API_TOKEN}
|
||||
- AWS_REGION=${AWS_REGION}
|
||||
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
||||
command: >
|
||||
bash -c "pip install --upgrade pip &&
|
||||
pip install flask python-dotenv boto3 requests &&
|
||||
python app.py"
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
email-api:
|
||||
container_name: email-api
|
||||
image: python:3.12-slim
|
||||
image: node:18-slim
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
volumes:
|
||||
- ./email_api:/app
|
||||
- /var/mail:/var/mail # Maildir-Zugriff für Health-Check
|
||||
- /var/mail:/var/mail # Maildir access for health check
|
||||
working_dir: /app
|
||||
env_file:
|
||||
- .env
|
||||
|
|
@ -15,7 +17,33 @@ services:
|
|||
- AWS_REGION=${AWS_REGION}
|
||||
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
||||
- SMTP_HOST=${SMTP_HOST:-localhost}
|
||||
- SMTP_PORT=${SMTP_PORT:-25}
|
||||
- MAILCOW_API_KEY=${MAILCOW_API_KEY}
|
||||
- MAILCOW_API=${MAILCOW_API}
|
||||
- PGHOST=postgres
|
||||
- PGUSER=${PGUSER:-email_user}
|
||||
- PGPASSWORD=${PGPASSWORD:-email_password}
|
||||
- PGDATABASE=${PGDATABASE:-email_db}
|
||||
- PGPORT=${PGPORT:-5432}
|
||||
command: >
|
||||
bash -c "pip install --upgrade pip &&
|
||||
pip install flask python-dotenv boto3 requests &&
|
||||
python app.py"
|
||||
bash -c "npm install express aws-sdk nodemailer emailjs-mime-parser emailjs-addressparser js-base64 winston dotenv axios pg &&
|
||||
node app.js"
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres:16
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
environment:
|
||||
- POSTGRES_USER=${PGUSER:-email_user}
|
||||
- POSTGRES_PASSWORD=${PGPASSWORD:-email_password}
|
||||
- POSTGRES_DB=${PGDATABASE:-email_db}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "email-api",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"express": "^4.18.2",
|
||||
"aws-sdk": "^2.1490.0",
|
||||
"nodemailer": "^6.9.7",
|
||||
"emailjs-mime-parser": "^2.1.0",
|
||||
"emailjs-addressparser": "^2.0.0",
|
||||
"js-base64": "^3.7.5",
|
||||
"winston": "^3.11.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"axios": "^1.6.2",
|
||||
"pg": "^8.11.3"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
CREATE TABLE email_statuses (
|
||||
id SERIAL PRIMARY KEY,
|
||||
domain VARCHAR(255) NOT NULL,
|
||||
s3_key VARCHAR(1024) NOT NULL,
|
||||
status VARCHAR(50) NOT NULL,
|
||||
timestamp BIGINT NOT NULL,
|
||||
processor VARCHAR(50) NOT NULL,
|
||||
from_addr TEXT,
|
||||
to_addrs TEXT[],
|
||||
UNIQUE (domain, s3_key)
|
||||
);
|
||||
Loading…
Reference in New Issue