mirror of
https://github.com/Cian-H/iform-invenio.git
synced 2026-08-17 00:42:49 +01:00
Uwsgi (#1)
* Update devenv * Added uv for python package management * Clean up gunicorn config artifacts * Scaffolded site * Fixed configuration for 13.0 * Added iform config/theme * Added agent contracts to allow for more automation of work in repo * Added a local rebuild command to justfile for development * Fixed deployment persistence issues * Site polish and deployment streamlining * Updated justfile to include production deployment commands * Fixed deployment bugs * Fixed local test commands
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: ./
|
||||
args:
|
||||
- ENVIRONMENT=DEV
|
||||
image: i-form-data-repository
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
- "INVENIO_ACCOUNTS_SESSION_REDIS_URL=redis://cache:6379/1"
|
||||
- "INVENIO_BROKER_URL=amqp://guest:guest@mq:5672/"
|
||||
- "INVENIO_CACHE_REDIS_URL=redis://cache:6379/0"
|
||||
- "INVENIO_CACHE_TYPE=redis"
|
||||
- "INVENIO_CELERY_BROKER_URL=amqp://guest:guest@mq:5672/"
|
||||
- "INVENIO_CELERY_RESULT_BACKEND=redis://cache:6379/2"
|
||||
- "INVENIO_COMMUNITIES_IDENTITIES_CACHE_REDIS_URL=redis://cache:6379/4"
|
||||
- "INVENIO_SEARCH_HOSTS=['search:9200']"
|
||||
- "INVENIO_SECRET_KEY=CHANGE_ME"
|
||||
- "INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://i-form-data-repository:i-form-data-repository@db/i-form-data-repository"
|
||||
- "INVENIO_WSGI_PROXIES=2"
|
||||
- "INVENIO_RATELIMIT_STORAGE_URL=redis://cache:6379/3"
|
||||
frontend:
|
||||
build:
|
||||
context: ./docker/nginx/
|
||||
dockerfile: Dockerfile
|
||||
image: i-form-data-repository-frontend
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:8080:80"
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:8443:443"
|
||||
cache:
|
||||
image: docker.io/library/redis:7
|
||||
restart: "unless-stopped"
|
||||
read_only: true
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:6379:6379"
|
||||
db:
|
||||
image: docker.io/library/postgres:14.13
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
- "POSTGRES_USER=i-form-data-repository"
|
||||
- "POSTGRES_PASSWORD=i-form-data-repository"
|
||||
- "POSTGRES_DB=i-form-data-repository"
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:5432:5432"
|
||||
pgadmin:
|
||||
image: docker.io/dpage/pgadmin4:6
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:5050:80"
|
||||
environment:
|
||||
PGADMIN_DEFAULT_EMAIL: "info@repo.i-form.ie"
|
||||
PGADMIN_DEFAULT_PASSWORD: "i-form-data-repository"
|
||||
volumes:
|
||||
- ./docker/pgadmin/servers.json:/pgadmin4/servers.json
|
||||
mq:
|
||||
image: docker.io/library/rabbitmq:3-management
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:15672:15672"
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:5672:5672"
|
||||
search:
|
||||
image: docker.io/opensearchproject/opensearch:2.17.1
|
||||
restart: "unless-stopped"
|
||||
environment:
|
||||
# settings only for development. DO NOT use in production!
|
||||
- bootstrap.memory_lock=true
|
||||
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
- "OPENSEARCH_INITIAL_ADMIN_PASSWORD=guekxe3mvqieke1!%&ieIADE"
|
||||
- "DISABLE_INSTALL_DEMO_CONFIG=true"
|
||||
- "DISABLE_SECURITY_PLUGIN=true"
|
||||
- "discovery.type=single-node"
|
||||
- "cluster.routing.allocation.disk.threshold_enabled=false"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
mem_limit: 2g
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:9200:9200"
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:9600:9600"
|
||||
opensearch-dashboards:
|
||||
image: docker.io/opensearchproject/opensearch-dashboards:2.17.1
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:5601:5601"
|
||||
expose:
|
||||
- "5601"
|
||||
environment:
|
||||
# settings only for development. DO NOT use in production!
|
||||
- 'OPENSEARCH_HOSTS=["http://search:9200"]'
|
||||
- "DISABLE_SECURITY_DASHBOARDS_PLUGIN=true"
|
||||
s3:
|
||||
image: docker.io/minio/minio:RELEASE.2022-10-24T18-35-07Z
|
||||
restart: "unless-stopped"
|
||||
ports:
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:9000:9000"
|
||||
- "${DOCKER_SERVICES_IP_BIND:-127.0.0.1}:9001:9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: CHANGE_ME
|
||||
MINIO_ROOT_PASSWORD: CHANGE_ME
|
||||
volumes:
|
||||
- ./data:/data
|
||||
command: server /data --console-address :9001
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 30s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
Reference in New Issue
Block a user