mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-12 15:25:57 +00:00
* feat(other): major improvement of deployment Motivation ---------- Kubernetes: * backend becomes a statefulset (exclusive volume mount) See: https://spacelift.io/blog/statefulset-vs-deployment * implement neo4j backup with job Docker: * consistent targets across all dockerfiles * remove redundant labels * remove unnecessary build args * remove obsolete networks * remove development dependencies for production Rebranding: * add image tags for local tagging and pulling * use Github's docker build workflows * use Github container registry * ONBUILD to simplify caller Dockerfiles * docker compose for branding Tooling: * same node --version as in dockerfile Docs: * missing step in README.md * refactor: remove submodules It's better to keep them all in a separate repository * improve kubernetes chart * better image tag defaults * split neo4j into its own chart (for re-use) * use application defaults where possible * optional resources for all pods * remove obsolete key/value pair from secrets * remove obsolete build argsand and add labels for neo4j enterprise * env vars for webapp * allow to define redirect domains Define a list of Domains that redirect to the domain of the project. The idea is to provide the ability to redirect eg. www.domain.tld to domain.tld * remove maintenance part regarding database * move backup job outside template folder * name the ingress * updated ingress * handle empty case of middlewares * try to default the ingress * use quote * restore todo-next-update * fix docu check * fix naming * try using prod:migrate * try using override config * copy src folder * try using base as image instead of build * fix test build * force build * comment for the problem * fix webapp tests (potentially) --------- Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
43 lines
1.7 KiB
YAML
43 lines
1.7 KiB
YAML
services:
|
|
|
|
webapp:
|
|
# name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there
|
|
image: ghcr.io/ocelot-social-community/ocelot-social/webapp:test
|
|
build:
|
|
target: test
|
|
environment:
|
|
- NODE_ENV="test"
|
|
volumes:
|
|
- ./coverage:/app/coverage
|
|
|
|
backend:
|
|
# name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there
|
|
image: ghcr.io/ocelot-social-community/ocelot-social/backend:test
|
|
build:
|
|
target: test
|
|
environment:
|
|
- NODE_ENV="test"
|
|
volumes:
|
|
- ./coverage:/app/coverage
|
|
|
|
maintenance:
|
|
# name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there
|
|
image: ghcr.io/ocelot-social-community/ocelot-social/maintenance:test
|
|
|
|
neo4j:
|
|
# name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there
|
|
image: ghcr.io/ocelot-social-community/ocelot-social/neo4j-community:test
|
|
#environment:
|
|
# - NEO4J_dbms_connector_bolt_enabled=true
|
|
# - NEO4J_dbms_connector_bolt_tls__level=OPTIONAL
|
|
# - NEO4J_dbms_connector_bolt_listen__address=0.0.0.0:7687
|
|
# - NEO4J_auth=none
|
|
# - NEO4J_dbms_connectors_default__listen__address=0.0.0.0
|
|
# - NEO4J_dbms_connector_http_listen__address=0.0.0.0:7474
|
|
# - NEO4J_dbms_connector_https_listen__address=0.0.0.0:7473
|
|
|
|
mailserver:
|
|
image: djfarrelly/maildev
|
|
ports:
|
|
- 1080:80
|