Subida a producción como Acana

This commit is contained in:
David Arranz 2025-11-30 22:32:02 +01:00
parent b770ff970f
commit f816fe4161

View File

@ -21,10 +21,12 @@ services:
# --- phpMyAdmin (solo accesible por Traefik + whitelist IP) ---
phpmyadmin:
image: phpmyadmin/phpmyadmin
image: phpmyadmin/phpmyadmin:latest
container_name: factuges_acana_phpmyadmin
restart: unless-stopped
environment:
PMA_ARBITRARY: 1
PMA_ABSOLUTE_URI: https://acana.factuges.app/phpmyadmin/
PMA_HOST: db
PMA_USER: ${DB_USER}
PMA_PASSWORD: ${DB_PASS}
@ -39,15 +41,16 @@ services:
labels:
traefik.enable: "true"
# /phpmyadmin → phpMyAdmin
traefik.http.routers.factuges_acana_phpmyadmin.rule: Host(`${DOMAIN}`) && PathPrefix(`/phpmyadmin`)
traefik.http.routers.factuges_acana_phpmyadmin.rule: "Host(`${DOMAIN}`) && PathPrefix(`/phpmyadmin/`)"
traefik.http.routers.factuges_acana_phpmyadmin.entrypoints: websecure
#traefik.http.routers.factuges_acana_phpmyadmin.tls: true
traefik.http.routers.factuges_acana_phpmyadmin.tls.certresolver: cloudflare-dns
traefik.http.routers.factuges_acana_phpmyadmin.priority: "110"
traefik.http.routers.factuges_acana_phpmyadmin.service: factuges_acana_phpmyadmin
traefik.http.services.factuges_acana_phpmyadmin.loadbalancer.server.port: "80"
# strip /phpmyadmin del path antes de llegar al contenedor
traefik.http.middlewares.factuges_acana_phpmyadmin_strip.stripprefix.prefixes: "/phpmyadmin"
traefik.http.middlewares.factuges_acana_phpmyadmin_strip.stripprefix.prefixes: "/phpmyadmin/"
# whitelist a tu IP
traefik.http.middlewares.factuges_acana_phpmyadmin_ipwhitelist.ipwhitelist.sourcerange: "79.116.183.41/32"
@ -57,7 +60,7 @@ services:
# --- API Node.js ---
api:
image: factuges-server:acana-latest #${API_IMAGE}
image: ${API_IMAGE}
container_name: factuges_acana_api
restart: unless-stopped
depends_on:
@ -116,6 +119,52 @@ services:
traefik.http.routers.factuges_acana_web.service: factuges_acana_web
traefik.http.services.factuges_acana_web.loadbalancer.server.port: "80"
factuges_sync:
image: "factuges-sync-factuges:acana-latest"
container_name: "factuges-sync-factuges-acana"
restart: "no"
environment:
ENV: "production"
LOCAL_TZ: "Europe/Madrid"
LAST_RUN_PATH: "${LAST_RUN_PATH}"
FACTUGES_HOST: "${FACTUGES_HOST}"
FACTUGES_PORT: "${FACTUGES_PORT}"
FACTUGES_DATABASE: "${FACTUGES_DATABASE}"
FACTUGES_USER: "${FACTUGES_USER}"
FACTUGES_PASSWORD: "${FACTUGES_PASSWORD}"
FWEB_MYSQL_HOST: "db"
FWEB_MYSQL_PORT: "${DB_PORT}"
FWEB_MYSQL_DATABASE: "${DB_NAME}"
FWEB_MYSQL_USER: "${DB_USER}"
FWEB_MYSQL_PASSWORD: "${DB_PASS}"
CTE_COMPANY_ID: "${CTE_COMPANY_ID}"
CTE_SERIE: "${CTE_SERIE}"
CTE_STATUS_INVOICE: "${CTE_STATUS_INVOICE}"
CTE_IS_PROFORMA: "${CTE_IS_PROFORMA}"
CTE_STATUS_VERIFACTU: "${CTE_STATUS_VERIFACTU}"
CTE_LANGUAGE_CODE: "${CTE_LANGUAGE_CODE}"
CTE_COUNTRY_CODE: "${CTE_COUNTRY_CODE}"
CTE_IS_COMPANY: "${CTE_IS_COMPANY}"
CTE_SYNC_RESULT_OK: "${CTE_SYNC_RESULT_OK}"
CTE_SYNC_RESULT_FAIL: "${CTE_SYNC_RESULT_FAIL}"
VERIFACTU_API_KEY: "${VERIFACTU_API_KEY}"
VERIFACTU_BASE_URL: "${VERIFACTU_BASE_URL}"
VERIFACTU_NIFS_API_KEY: "${VERIFACTU_NIFS_API_KEY}"
depends_on:
db:
condition: service_healthy
networks:
- internal
- edge
volumes:
- ./volumes/db_sync/logs:/app/logs
- ./volumes/db_sync/last_run_factuges.ini:/app/last_run_factuges.ini:rw
networks:
edge:
name: edge