mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-24 00:42:59 +08:00
307 lines
12 KiB
YAML
307 lines
12 KiB
YAML
networks:
|
|
traefik-public:
|
|
external: true
|
|
name: traefik-public
|
|
services:
|
|
backend:
|
|
build:
|
|
args:
|
|
INSTALL_DEV: "false"
|
|
context: /home/aurthur/Development/Python/felicity/felicity_lims/backend
|
|
dockerfile: backend.dockerfile
|
|
depends_on:
|
|
db:
|
|
condition: service_started
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.constraint-label-stack=felicity.com
|
|
- traefik.http.routers.felicity-com-backend-http.rule=PathPrefix(`/api`) ||
|
|
PathPrefix(`/docs`) || PathPrefix(`/redoc`)
|
|
- traefik.http.services.felicity-com-backend.loadbalancer.server.port=80
|
|
environment:
|
|
BACKEND_CORS_ORIGINS: '["http://localhost", "http://localhost:4200", "http://localhost:3000",
|
|
"http://localhost:8080", "https://localhost", "https://localhost:4200", "https://localhost:3000",
|
|
"https://localhost:8080", "http://dev.felicity.com", "https://stag.felicity.com",
|
|
"https://felicity.com", "http://local.dockertoolbox.tiangolo.com", "http://localhost.tiangolo.com"]'
|
|
DOCKER_IMAGE_BACKEND: lims_backend
|
|
DOCKER_IMAGE_CELERYWORKER: lims_celeryworker
|
|
DOCKER_IMAGE_FRONTEND: lims_frontend
|
|
DOMAIN: localhost
|
|
EMAILS_FROM_EMAIL: info@felicity.com
|
|
FIRST_SUPERUSER: admin@felicity.com
|
|
FIRST_SUPERUSER_PASSWORD: admin
|
|
FLOWER_BASIC_AUTH: admin:admin
|
|
PGADMIN_DEFAULT_EMAIL: admin@felicity.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_LISTEN_PORT: '5050'
|
|
POSTGRES_DB: app
|
|
POSTGRES_PASSWORD: felicity
|
|
POSTGRES_SERVER: db
|
|
POSTGRES_USER: postgres
|
|
PROJECT_NAME: felicity
|
|
SECRET_KEY: 88d08895c7ddd073af5a7d284a9f58a55391ff66755814af98b693064c2aec77
|
|
SENTRY_DSN: ''
|
|
SERVER_HOST: https://localhost
|
|
SERVER_NAME: localhost
|
|
SMTP_HOST: ''
|
|
SMTP_PASSWORD: ''
|
|
SMTP_PORT: '587'
|
|
SMTP_TLS: "True"
|
|
SMTP_USER: ''
|
|
STACK_NAME: felicity-com
|
|
TRAEFIK_PUBLIC_NETWORK: traefik-public
|
|
TRAEFIK_PUBLIC_TAG: traefik-public
|
|
TRAEFIK_TAG: felicity.com
|
|
USERS_OPEN_REGISTRATION: "False"
|
|
image: lims_backend:latest
|
|
celeryworker:
|
|
build:
|
|
args:
|
|
INSTALL_DEV: "false"
|
|
context: /home/aurthur/Development/Python/felicity/felicity_lims/backend
|
|
dockerfile: celeryworker.dockerfile
|
|
depends_on:
|
|
db:
|
|
condition: service_started
|
|
queue:
|
|
condition: service_started
|
|
environment:
|
|
BACKEND_CORS_ORIGINS: '["http://localhost", "http://localhost:4200", "http://localhost:3000",
|
|
"http://localhost:8080", "https://localhost", "https://localhost:4200", "https://localhost:3000",
|
|
"https://localhost:8080", "http://dev.felicity.com", "https://stag.felicity.com",
|
|
"https://felicity.com", "http://local.dockertoolbox.tiangolo.com", "http://localhost.tiangolo.com"]'
|
|
DOCKER_IMAGE_BACKEND: lims_backend
|
|
DOCKER_IMAGE_CELERYWORKER: lims_celeryworker
|
|
DOCKER_IMAGE_FRONTEND: lims_frontend
|
|
DOMAIN: localhost
|
|
EMAILS_FROM_EMAIL: info@felicity.com
|
|
FIRST_SUPERUSER: admin@felicity.com
|
|
FIRST_SUPERUSER_PASSWORD: admin
|
|
FLOWER_BASIC_AUTH: admin:admin
|
|
PGADMIN_DEFAULT_EMAIL: admin@felicity.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_LISTEN_PORT: '5050'
|
|
POSTGRES_DB: app
|
|
POSTGRES_PASSWORD: felicity
|
|
POSTGRES_SERVER: db
|
|
POSTGRES_USER: postgres
|
|
PROJECT_NAME: felicity
|
|
SECRET_KEY: 88d08895c7ddd073af5a7d284a9f58a55391ff66755814af98b693064c2aec77
|
|
SENTRY_DSN: ''
|
|
SERVER_HOST: https://localhost
|
|
SERVER_NAME: localhost
|
|
SMTP_HOST: ''
|
|
SMTP_PASSWORD: ''
|
|
SMTP_PORT: '587'
|
|
SMTP_TLS: "True"
|
|
SMTP_USER: ''
|
|
STACK_NAME: felicity-com
|
|
TRAEFIK_PUBLIC_NETWORK: traefik-public
|
|
TRAEFIK_PUBLIC_TAG: traefik-public
|
|
TRAEFIK_TAG: felicity.com
|
|
USERS_OPEN_REGISTRATION: "False"
|
|
image: lims_celeryworker:latest
|
|
db:
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.labels.felicity-com.app-db-data == true
|
|
environment:
|
|
BACKEND_CORS_ORIGINS: '["http://localhost", "http://localhost:4200", "http://localhost:3000",
|
|
"http://localhost:8080", "https://localhost", "https://localhost:4200", "https://localhost:3000",
|
|
"https://localhost:8080", "http://dev.felicity.com", "https://stag.felicity.com",
|
|
"https://felicity.com", "http://local.dockertoolbox.tiangolo.com", "http://localhost.tiangolo.com"]'
|
|
DOCKER_IMAGE_BACKEND: lims_backend
|
|
DOCKER_IMAGE_CELERYWORKER: lims_celeryworker
|
|
DOCKER_IMAGE_FRONTEND: lims_frontend
|
|
DOMAIN: localhost
|
|
EMAILS_FROM_EMAIL: info@felicity.com
|
|
FIRST_SUPERUSER: admin@felicity.com
|
|
FIRST_SUPERUSER_PASSWORD: admin
|
|
FLOWER_BASIC_AUTH: admin:admin
|
|
PGADMIN_DEFAULT_EMAIL: admin@felicity.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_LISTEN_PORT: '5050'
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
POSTGRES_DB: app
|
|
POSTGRES_PASSWORD: felicity
|
|
POSTGRES_SERVER: db
|
|
POSTGRES_USER: postgres
|
|
PROJECT_NAME: felicity
|
|
SECRET_KEY: 88d08895c7ddd073af5a7d284a9f58a55391ff66755814af98b693064c2aec77
|
|
SENTRY_DSN: ''
|
|
SMTP_HOST: ''
|
|
SMTP_PASSWORD: ''
|
|
SMTP_PORT: '587'
|
|
SMTP_TLS: "True"
|
|
SMTP_USER: ''
|
|
STACK_NAME: felicity-com
|
|
TRAEFIK_PUBLIC_NETWORK: traefik-public
|
|
TRAEFIK_PUBLIC_TAG: traefik-public
|
|
TRAEFIK_TAG: felicity.com
|
|
USERS_OPEN_REGISTRATION: "False"
|
|
image: postgres:12
|
|
volumes:
|
|
- app-db-data:/var/lib/postgresql/data/pgdata:rw
|
|
flower:
|
|
command:
|
|
- --broker=amqp://guest@queue:5672//
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.routers.felicity-com-flower-http.rule=Host(`flower.localhost`)
|
|
- traefik.http.routers.felicity-com-flower-http.entrypoints=http
|
|
- traefik.http.routers.felicity-com-flower-http.middlewares=felicity-com-https-redirect
|
|
- traefik.http.routers.felicity-com-flower-https.rule=Host(`flower.localhost`)
|
|
- traefik.http.routers.felicity-com-flower-https.entrypoints=https
|
|
- traefik.http.routers.felicity-com-flower-https.tls=true
|
|
- traefik.http.routers.felicity-com-flower-https.tls.certresolver=le
|
|
- traefik.http.services.felicity-com-flower.loadbalancer.server.port=5555
|
|
environment:
|
|
BACKEND_CORS_ORIGINS: '["http://localhost", "http://localhost:4200", "http://localhost:3000",
|
|
"http://localhost:8080", "https://localhost", "https://localhost:4200", "https://localhost:3000",
|
|
"https://localhost:8080", "http://dev.felicity.com", "https://stag.felicity.com",
|
|
"https://felicity.com", "http://local.dockertoolbox.tiangolo.com", "http://localhost.tiangolo.com"]'
|
|
DOCKER_IMAGE_BACKEND: lims_backend
|
|
DOCKER_IMAGE_CELERYWORKER: lims_celeryworker
|
|
DOCKER_IMAGE_FRONTEND: lims_frontend
|
|
DOMAIN: localhost
|
|
EMAILS_FROM_EMAIL: info@felicity.com
|
|
FIRST_SUPERUSER: admin@felicity.com
|
|
FIRST_SUPERUSER_PASSWORD: admin
|
|
FLOWER_BASIC_AUTH: admin:admin
|
|
PGADMIN_DEFAULT_EMAIL: admin@felicity.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_LISTEN_PORT: '5050'
|
|
POSTGRES_DB: app
|
|
POSTGRES_PASSWORD: felicity
|
|
POSTGRES_SERVER: db
|
|
POSTGRES_USER: postgres
|
|
PROJECT_NAME: felicity
|
|
SECRET_KEY: 88d08895c7ddd073af5a7d284a9f58a55391ff66755814af98b693064c2aec77
|
|
SENTRY_DSN: ''
|
|
SMTP_HOST: ''
|
|
SMTP_PASSWORD: ''
|
|
SMTP_PORT: '587'
|
|
SMTP_TLS: "True"
|
|
SMTP_USER: ''
|
|
STACK_NAME: felicity-com
|
|
TRAEFIK_PUBLIC_NETWORK: traefik-public
|
|
TRAEFIK_PUBLIC_TAG: traefik-public
|
|
TRAEFIK_TAG: felicity.com
|
|
USERS_OPEN_REGISTRATION: "False"
|
|
image: mher/flower
|
|
networks:
|
|
default: null
|
|
traefik-public: null
|
|
frontend:
|
|
build:
|
|
args:
|
|
FRONTEND_ENV: production
|
|
context: /home/aurthur/Development/Python/felicity/felicity_lims/frontend
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.constraint-label-stack=felicity.com
|
|
- traefik.http.routers.felicity-com-frontend-http.rule=PathPrefix(`/`)
|
|
- traefik.http.services.felicity-com-frontend.loadbalancer.server.port=80
|
|
image: lims_frontend:latest
|
|
pgadmin:
|
|
depends_on:
|
|
db:
|
|
condition: service_started
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.routers.felicity-com-pgadmin-http.rule=Host(`pgadmin.localhost`)
|
|
- traefik.http.routers.felicity-com-pgadmin-http.entrypoints=http
|
|
- traefik.http.routers.felicity-com-pgadmin-http.middlewares=felicity-com-https-redirect
|
|
- traefik.http.routers.felicity-com-pgadmin-https.rule=Host(`pgadmin.localhost`)
|
|
- traefik.http.routers.felicity-com-pgadmin-https.entrypoints=https
|
|
- traefik.http.routers.felicity-com-pgadmin-https.tls=true
|
|
- traefik.http.routers.felicity-com-pgadmin-https.tls.certresolver=le
|
|
- traefik.http.services.felicity-com-pgadmin.loadbalancer.server.port=5050
|
|
environment:
|
|
BACKEND_CORS_ORIGINS: '["http://localhost", "http://localhost:4200", "http://localhost:3000",
|
|
"http://localhost:8080", "https://localhost", "https://localhost:4200", "https://localhost:3000",
|
|
"https://localhost:8080", "http://dev.felicity.com", "https://stag.felicity.com",
|
|
"https://felicity.com", "http://local.dockertoolbox.tiangolo.com", "http://localhost.tiangolo.com"]'
|
|
DOCKER_IMAGE_BACKEND: lims_backend
|
|
DOCKER_IMAGE_CELERYWORKER: lims_celeryworker
|
|
DOCKER_IMAGE_FRONTEND: lims_frontend
|
|
DOMAIN: localhost
|
|
EMAILS_FROM_EMAIL: info@felicity.com
|
|
FIRST_SUPERUSER: admin@felicity.com
|
|
FIRST_SUPERUSER_PASSWORD: admin
|
|
FLOWER_BASIC_AUTH: admin:admin
|
|
PGADMIN_DEFAULT_EMAIL: admin@felicity.com
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_LISTEN_PORT: '5050'
|
|
POSTGRES_DB: app
|
|
POSTGRES_PASSWORD: felicity
|
|
POSTGRES_SERVER: db
|
|
POSTGRES_USER: postgres
|
|
PROJECT_NAME: felicity
|
|
SECRET_KEY: 88d08895c7ddd073af5a7d284a9f58a55391ff66755814af98b693064c2aec77
|
|
SENTRY_DSN: ''
|
|
SMTP_HOST: ''
|
|
SMTP_PASSWORD: ''
|
|
SMTP_PORT: '587'
|
|
SMTP_TLS: "True"
|
|
SMTP_USER: ''
|
|
STACK_NAME: felicity-com
|
|
TRAEFIK_PUBLIC_NETWORK: traefik-public
|
|
TRAEFIK_PUBLIC_TAG: traefik-public
|
|
TRAEFIK_TAG: felicity.com
|
|
USERS_OPEN_REGISTRATION: "False"
|
|
image: dpage/pgadmin4
|
|
networks:
|
|
default: null
|
|
traefik-public: null
|
|
proxy:
|
|
command:
|
|
- --providers.docker
|
|
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`, `felicity.com`)
|
|
- --providers.docker.exposedbydefault=false
|
|
- --providers.docker.swarmmode
|
|
- --accesslog
|
|
- --log
|
|
- --api
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.middlewares.felicity-com-https-redirect.redirectscheme.scheme=https
|
|
- traefik.http.middlewares.felicity-com-https-redirect.redirectscheme.permanent=true
|
|
- traefik.http.routers.felicity-com-proxy-http.rule=Host(`localhost`) || Host(`www.localhost`)
|
|
- traefik.http.routers.felicity-com-proxy-http.entrypoints=http
|
|
- traefik.http.routers.felicity-com-proxy-https.rule=Host(`localhost`) || Host(`www.localhost`)
|
|
- traefik.http.routers.felicity-com-proxy-https.entrypoints=https
|
|
- traefik.http.routers.felicity-com-proxy-https.tls=true
|
|
- traefik.http.routers.felicity-com-proxy-https.tls.certresolver=le
|
|
- traefik.http.services.felicity-com-proxy.loadbalancer.server.port=80
|
|
- traefik.http.middlewares.felicity-com-www-redirect.redirectregex.regex=^https?://(www.)?(localhost)/(.*)
|
|
- traefik.http.middlewares.felicity-com-www-redirect.redirectregex.replacement=https://localhost/$${3}
|
|
- traefik.http.routers.felicity-com-proxy-https.middlewares=felicity-com-www-redirect
|
|
- traefik.http.routers.felicity-com-proxy-http.middlewares=felicity-com-www-redirect,felicity-com-https-redirect
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
image: traefik:v2.2
|
|
networks:
|
|
default: null
|
|
traefik-public: null
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:rw
|
|
queue:
|
|
image: rabbitmq:3
|
|
version: '3.3'
|
|
volumes:
|
|
app-db-data: {}
|
|
|