forked from digitales/kompass
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.9 KiB
Markdown
81 lines
2.9 KiB
Markdown
# kompass
|
|
|
|
[](https://jenkins.merten.dev/job/gitea/job/kompass/job/main/)
|
|
|
|
This repository has the purpose to develop a webapplication that can be used by
|
|
JDAV to send newsletters, manage user lists and keep material lists up to date.
|
|
As this repository is also meant to be a base for exchange during development, feel free
|
|
to contribute ideas in form of edits to this README, issues, landmarks, projects, wiki entries, ...
|
|
|
|
# Docker
|
|
|
|
In the `docker` subfolder, there are `docker-compose.yaml`s for development and production use. For the development
|
|
version, no further setup is needed.
|
|
|
|
# Production
|
|
|
|
In production, the docker setup needs an external database. The exact access credentials are configured in the respective
|
|
docker.env files.
|
|
|
|
# Useful stuff
|
|
|
|
## Reset database for certain app
|
|
|
|
The following can be useful in case that automatic migrations throw errors.
|
|
|
|
1. delete everything in the migrations folder except for `__init__.py`.
|
|
2. drop into my MySQL console and do: `DELETE FROM django_migrations WHERE app='my_app'``
|
|
3. while at the MySQL console, drop all of the tables associated with my_app.
|
|
4. re-run `./manage.py makemigrations my_app` - this generates a 0001_initial.py file in my migrations folder.
|
|
5. run `./manage migrate my_app` - I expect this command to re-build all my tables, but instead it says: "No migrations to apply."
|
|
|
|
|
|
# Development Notes
|
|
|
|
## Information
|
|
|
|
- default user wie vergeben in Schritt 3 [Development Setup > docker](#docker)
|
|
|
|
## Development Setup
|
|
|
|
### docker
|
|
|
|
```bash
|
|
# 1. Clone repository (see above)
|
|
|
|
# 1.2 Load Submodules
|
|
git submodule update --init
|
|
|
|
# 2. Install dependencies (docker, docker compose)
|
|
|
|
# 3. Create default (super)user
|
|
docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser"
|
|
|
|
# 4. Setup development environment
|
|
export GID=${GID}
|
|
export UID=${UID}
|
|
|
|
# 5. Start docker compose
|
|
cd docker/development
|
|
docker compose up -d
|
|
```
|
|
|
|
Erläuterungen:
|
|
- zu 2.: Im docker compose sollen die gleichen Nutzerrechte vorliegen, wie auf der entwickelnden Maschine um auto rebuild zu ermöglichen. Damit
|
|
|
|
|
|
### Known Issues
|
|
|
|
- Bei `docker compose up -d` des development [docker-compose.yaml](docker/development/docker-compose.yaml)
|
|
|
|
```bash
|
|
=> ERROR [master 6/7] RUN groupadd -g kasimir && useradd -g -u -m -d /app kasimir 0.2s
|
|
------
|
|
> [master 6/7] RUN groupadd -g kasimir && useradd -g -u -m -d /app kasimir:
|
|
0.141 groupadd: invalid group ID 'kasimir'
|
|
------
|
|
failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3
|
|
```
|
|
|
|
- Dieser Fehler entsteht, wenn Schritt 2 im Abschnitt [Development Setup > docker](#docker) übersprungen wird.
|