21 Commits

Author SHA1 Message Date
Robert Schäfer
00da9e8ecb
feat(backend): resize images with imagor (#8558)
* feat(backend): resize images with imagor

Open questions:
* Do we have external URLs for images? E.g. we have them for seeds. But
  in production?

* Do we want to apply image transformations on these as well? My current
implementation does not apply image transformations as of now. If we
want to do that, we will also expose internal URLs in the kubernetes
Cluster to the S3 endpoint to the client.

TODOs:
* The chat component is using a fixed size for all avatars at the moment.
Maybe we can pair-program on this how to implement responsive images in
this component library.

Commits:
* do not replace upload domain url in the database

* fix all webapp specs

* refactor: remove behaviour we won't need

We don't want to apply image transformations on files, right?

* refactor: replace the domain on read not on write

* wip: webapp fixes

* refactor(backend): add another url to config

I've given up. There seems to be no nice way to tell the minio to return
a location which differs from it's host name.

* refactor: add test for s3Service

* refactor(backend): proxy minio via backend in local development

Commits:
* provide tests for message attachments
* remove S3_PUBLIC_URL config value

* refactor: follow @ulfgebhardt's review

* add missing environment variable

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-08-19 10:11:12 +02:00
Robert Schäfer
c4a119f9db
refactor(workflow): silence tslog on CI server (#8753)
Follow up of #8751:

I forgot that we `cp backend/.env.template backend/.env` on our CI server. Now the CI is riddled with debug messages.
2025-07-10 20:08:32 +07:00
mahula
3730be6414
refactor(docker): neo4j image naming inconsistency in docker compose files (#8736)
* refactor neo4j image naming inconsistency in docker compose files

* add explicit building of neo4j image to backend preparation e2e test

* fix build target neo4j building job

* fix build target for neo4j building job

* fix naming inconsistenca in backend workflow jobs

* refactor docker compose commands in backend test workflow

* rename custom neo4j docker images according to their naming standards

* rename custom neo4j docker images according to their naming standards
2025-06-30 11:14:21 +02:00
mahula
b61fd597ec
refactor(webapp): adapt webapp docker build stages to match e2e testing requirements (#8651)
* refactor: change webapp docker build stages to match e2e testing requirements

* refactor: remove build parameter from final docker compose steptin e2e test workflow

* Revert "refactor: remove build parameter from final docker compose steptin e2e test workflow"

This reverts commit 63461874ba389f6fcdd1f57b45d7f531088cd10a.

* e2e: update backend env template for e2e testing

* e2e: update e2e testing workflow to recent changes in backend building and config

* e2e: update e2e testing workflow add missing env copy

* e2e: update e2e testing workflow add missing env copy

* e2e: update e2e testing workflow add missing env copy
2025-06-09 15:46:12 +02:00
Robert Schäfer
d6a8de478b
feat(backend): migrate to s3 (#8545)
## 🍰 Pullrequest
This will migrate our assets to an objectstorage via S3.

Before this PR is rolled out, the S3 credentials need to be configured in the respective infrastructure repository. The migration is implemented in a backend migration, i.e. I expect the `initContainer` to take a little longer but I hope then it's going to be fine. If any errors occcur, the migration should be repeatable, since the disk volume is still there.

### Issues
The backend having direct access on disk.

### Todo
- [ ] Configure backend environment variables in every infrastructure repo
- [ ] Remove kubernetes uploads volume in a future PR

Commits:

* refactor: follow @ulfgebhardt
  Here: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2846163417
  I don't know why the PR didn't include these changes already, I believe I made a mistake during rebase and lost the relevant commits.
* refactor: use typescript assertions
  I found it a better way to react to this comment: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545/files#r2092766596
* add S3 credentials
* refactor: easier to remember credentials
  It's for local development only
* give init container necessary file access
* fix: wrong upload location on production
* refactor: follow @ulfgebhardt's review
  See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2881626504
2025-06-01 09:53:31 +00:00
mahula
7b4b0774e4
docker compose files: use current maildev image from the right repo (#8351) 2025-04-11 19:44:22 +02:00
81b7d4a09c
expose port so the mailserver can actually be used (#8319) 2025-04-04 08:28:35 +00:00
Robert Schäfer
628b57aa29
feat(other): major improvement of deployment (#7925)
* 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>
2025-02-28 18:22:23 +01:00
Wolfgang Huß
15bb2d24bf Fix warnings by removing 'version' from all Docker Compose YAMLs 2024-08-29 16:35:26 +02:00
Wolfgang Huß
3491f2ae15 Switch in Docker Compose test file Neo4j and maintenance 2022-07-18 19:10:17 +02:00
Wolfgang Huß
9143eb7143 Merge branch 'master' of github.com:Ocelot-Social-Community/Ocelot-Social into 5072-remove-image-entries-in-docker-compose-files-fix-m1
# Conflicts:
#	DOCKER_MORE_CLOSELY.md
#	docker-compose.override.yml
#	docker-compose.test.yml
#	docker-compose.yml
2022-07-18 19:01:58 +02:00
Wolfgang Huß
2bc09aceeb Rename Neo4j Docker in general image to 'neo4j-community:*' 2022-07-18 07:11:35 +02:00
Wolfgang Huß
bc97b1db0c Add comments for Docker image naming 2022-07-18 06:42:14 +02:00
Wolfgang Huß
a0a2fb43ab Prettify some formating 2021-05-30 20:52:16 +02:00
e3e03415e1
have cypress running locally - the tests still fail 2021-04-14 20:36:12 +02:00
f6b6e21a8d
also have backend coverage
some typos
2021-04-14 01:27:27 +02:00
1381437610
bind coverage volume in docker-compose.test.yml file 2021-04-14 00:21:38 +02:00
8a0b3a2826
- build test images 2021-01-30 19:25:39 +01:00
f633daef77
- revert some changes 2021-01-30 07:47:20 +01:00
51321ee4e1
- build development target not build 2021-01-30 07:41:46 +01:00
dec17d0e8d
- ci fixes
- docker-compose.test.yml
- fixed nuxt permissions in dev environment(docker)
2021-01-30 06:36:28 +01:00