56 Commits

Author SHA1 Message Date
a0c205b379
feat(backend): file upload chat backend (#8657)
* Prepare image uploads in chat

* files instead of images

* Fix file type and query

* Add dummy data to resolver

* fix graphql types

* Fix file upload, remove unncessary code

* Re-add fetch

* Fix room order after sent message

* Update backend/src/graphql/queries/messageQuery.ts

* Move room to top of list when a message is received

* working prototype chat file upload

* remove console

* allow to upload all kinds of files

* multiple images

* revert changes in S3 Images

* tag mimetype

* accept any file

* lint fix

* remove snapshot flakyness

* remove whitelist test

* fix messages spec

* fix query

* more query fixes

* fix seed

* made message resolver tests independent

* lint

* started specc for attachments

* more tests & fixes

* fix empty room error

* remove console logs

* fix tests

* fix createRoom last Messsage error properly

* lint fixes

* reduce changeset

* simplify config check

* reduce changeset

* missing change

* allow speech capture

* Fix file download

* Implement proper download

---------

Co-authored-by: Maximilian Harz <maxharz@gmail.com>
2025-06-13 19:02:37 +00: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
Robert Schäfer
290a176407
refactor(backend): types for global config (#8485)
* refactor(backend): types for global config

I saw merge conflicts in these files for #8463 so let's get some parts of this PR into `master` already.

I believe this fixes a small bug. They guard clause didn't ensure that all of REDIS_ configurations were set.

* remove old email mechanism

* refactor(backend: react to @ulfgebhardt's review

See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8485#pullrequestreview-2813528327

* build(backend): optional commit

@ulfgebhardt this is how I tested the configurations. We don't need to include this commit but I wouldn't expect to send out real emails from a `docker-compose` setup.

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
2025-05-07 15:57:35 +02: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
75a6528526
docker configuration for frontend 2024-01-28 13:17:11 +01:00
8ca2ee65df
define container names explicitly 2023-02-23 17:25:03 +01:00
Wolfgang Huß
cc62d9e0a3 Switch in Docker Compose files Neo4j and maintenance 2022-07-18 19:08:03 +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ß
8d10066fba Replace in docker compose 'ocelotsocialnetwork/*:development' by 'ocelotsocialnetwork/*:local-development' 2022-07-15 09:28:53 +02:00
Wolfgang Huß
04cd391a39 Remove image entries in 'docker-compose.yml' and 'docker-compose.override.yml' 2022-07-13 10:02:18 +02:00
Wolfgang Huß
0ec33fe3a3 Try to implement the logo on maintenance page, uncommented and hints 2021-08-09 11:58:10 +02:00
Wolfgang Huß
a0a2fb43ab Prettify some formating 2021-05-30 20:52:16 +02:00
dec17d0e8d
- ci fixes
- docker-compose.test.yml
- fixed nuxt permissions in dev environment(docker)
2021-01-30 06:36:28 +01:00
c5a1243b4b
- corrected comment 2021-01-23 02:09:44 +01:00
47f58a3c5e
some comment-styling issues 2021-01-22 14:25:05 +01:00
169b0b4520
Update docker-compose.override.yml
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2021-01-22 14:17:53 +01:00
930cce6b51
fixed neo4j query browser name - its not called playground 2021-01-22 11:31:31 +01:00
33b8b001d7
- remove yarn run dev command since its part of the dockerfile for the production stage 2021-01-19 23:18:52 +01:00
a662fed961
- override all image names for development
- structuring comment for service blocks
2021-01-19 23:18:52 +01:00
2518e38582
- webapp Dockerfile
- cleanup backend Dockerfile
- docker-compose cleanup
- docker-compose networks
- docker-compose for production, docker-compose.override for development
- security
- todos
2021-01-19 23:18:52 +01:00
269e38b56e
backend dockerfile and compose seem to be pretty solid now 2021-01-19 23:18:52 +01:00
0523c88bb8
- fixed docker compose for backend
- changed backend port to 4000
- removed volume from development build stage
2021-01-19 23:18:52 +01:00
Wolfgang Huß
2495f4fa72 Fixed live reload of Nuxt for docker-compose
- If code was changed by the developer in backend and webapp live reload was not executed.
2021-01-18 15:53:08 +01:00
Wolfgang Huß
818ce5795d Correct docker-compose volume paths for override 2021-01-04 15:49:45 +01:00
Wolfgang Huß
cd61a32a4c Rename 'schoolsinmotion/.' Docker image names 2020-12-17 18:53:27 +01:00
Moriz Wahl
bd962bbfcc merging rebranding branch from / 2020-11-10 10:28:20 +01:00
Moriz Wahl
5fc24a3751 merged conflicts 2020-11-10 09:38:45 +01:00
Wolfgang Huß
da91be2136 Change docker repository to develop-maintenance
- maintenance  —>  develop-maintenance
2020-10-29 11:14:09 +01:00
Wolfgang Huß
13c70903e1 Change docker repository to develop-backend
- nitro-backend  —>  develop-backend
2020-10-28 10:59:36 +01:00
Wolfgang Huß
b6c8acab36 Change docker repository to develop-webapp
- nitro-web  —>  develop-webapp
2020-10-28 10:52:07 +01:00
Wolfgang Huß
360f545fb7 Change docker account
- humanconnection  —>  ocelotsocialnetwork
2020-10-28 10:36:14 +01:00
roschaefer
a20aebc027 Remove obsolete env var 2020-06-15 15:18:25 +02:00
roschaefer
3a216226bc Paramterize all emails 2020-06-05 14:15:42 +02:00
roschaefer
0ee3a308a7 Add tags and APPLICATION_NAME env variable 2020-06-05 13:07:27 +02:00
roschaefer
73c1f3c88b Silly fix of copy+paste error 2020-06-04 21:56:36 +02:00
roschaefer
936018198e Silly copy+paste error 2020-06-04 21:52:08 +02:00
roschaefer
2c4c9ab8b0 feat: Avoid new builds on base docker-compose.yml 2020-06-04 17:11:04 +02:00
roschaefer
23ae569509 Rename dockerhub organizations
..plus get rid of obsolete prefix `nitro-`.
2020-06-04 13:04:05 +02:00
ogerly
10012fa62a No public registration in development so that backend test pass 2019-11-29 16:30:15 +01:00
roschaefer
afe189435a Allow public registration by default on docker env
My thought here is that a mailserver is started in
`docker-compose.override.yml` so you can see the emails being sent.
2019-10-11 00:54:19 +02:00
roschaefer
08244ab4b2 Address @mattwr18's review here:
https://github.com/Human-Connection/Human-Connection/pull/1543#pullrequestreview-287593264

Thinking about it, I really ask myself why I did not find this solution
earlier 🙈

Of course, you don't want to share the generated `buildDir`
with the host system. If you happen to share the `webapp/` folder,
simply point NuxtJS to a build directory somewhere else. Easy!
2019-09-12 22:56:52 +02:00
roschaefer
10418f061b Various changes to build pipeline
* Use `production` docker images for cypress tests. As one of our contributors
pointed out: It is bad practice to end-to-end test sth. else than the actual
production images.
* Have a dedicated `docker-compose.travis-integration.yml` to test
backend integration tests. The backend *needs* a database when doing
integration tests. So there is no way around using docker-compose. But
we could stop using the `build-and-test` stage when we do cypress tests.
* Remove a couple of unused ports and DRY `docker-compose.override.yml`
* Build and tag all images first and then run `docker-compose .. up` - I
hope this will not rebuild the image.
* Reduce docker image size
2019-09-12 00:29:36 +02:00
roschaefer
5804b1352c Remove old docker files 2019-09-11 08:43:26 +02:00
roschaefer
5cf82d5e18 Fix build
Here are the issues
* webapp was built with `NODE_ENV=production` but started with
`NODE_ENV=development`
* using the provided `docker-compose.travis.yml` the command `yarn run
start` would look in the wrong folder
* removed duplicate environment definition
2019-09-11 02:22:08 +02:00
roschaefer
4d5769fbc6 Fix cypress tests and factories 2019-09-03 21:28:29 +02:00