Update install
continuous-integration/drone/tag Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
This commit is contained in:
parent
b383a7a515
commit
ddebe7cc3c
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# ------------------------- check for database access -------------------------
|
||||||
|
function wait_for_db {
|
||||||
|
while true; do
|
||||||
|
echo "waiting for Database init"
|
||||||
|
php -r 'new PDO("mysql:host='$DB_HOST';dbname='$DB_DATABASE'", "'$DB_USERNAME'", "'$DB_PASSWORD'");' > /dev/null && return 0
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
php artisan horizon
|
|
@ -5,7 +5,7 @@ RUN npm install && npm run prod && npm run img && rm -R node_modules
|
||||||
|
|
||||||
FROM nginx:1.21.6-alpine as nginx
|
FROM nginx:1.21.6-alpine as nginx
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=node . /app
|
COPY --from=node /app /app
|
||||||
COPY ./.docker/nginx/nginx.conf /etc/nginx/nginx.conf
|
COPY ./.docker/nginx/nginx.conf /etc/nginx/nginx.conf
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# --------------------------- ensure appkey is set ----------------------------
|
||||||
|
if [ $APP_KEY = "YOUR_APP_KEY" ]; then
|
||||||
|
echo "----------------------- Keinen APP KEY gefunden. Key wird generiert: $(php artisan key:generate --show) ----------------------- Füge diesen Key als APP_KEY ein ---------------------"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ------------------------- check for database access -------------------------
|
||||||
|
function wait_for_db {
|
||||||
|
while true; do
|
||||||
|
echo "waiting for Database init"
|
||||||
|
php -r 'new PDO("mysql:host='$DB_HOST';dbname='$DB_DATABASE'", "'$DB_USERNAME'", "'$DB_PASSWORD'");' > /dev/null && return 0
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
wait_for_db
|
||||||
|
|
||||||
|
php -r '$connection = new PDO("mysql:host='$DB_HOST';dbname='$DB_DATABASE'", "'$DB_USERNAME'", "'$DB_PASSWORD'"); $connection->query("DESCRIBE migrations");' > /dev/null || php artisan migrate --seed --force
|
||||||
|
php artisan migrate --force
|
||||||
|
|
||||||
|
php-fpm -F -R -O
|
|
@ -18,6 +18,10 @@ RUN pecl install redis && docker-php-ext-enable redis
|
||||||
COPY --chown=www-data:www-data . /app
|
COPY --chown=www-data:www-data . /app
|
||||||
COPY --chown=www-data:www-data --from=node /app/public /app/public
|
COPY --chown=www-data:www-data --from=node /app/public /app/public
|
||||||
COPY --chown=www-data:www-data --from=composer /app/vendor /app/vendor
|
COPY --chown=www-data:www-data --from=composer /app/vendor /app/vendor
|
||||||
|
|
||||||
|
COPY ./.docker/php-entrypoint /bin/php-entrypoint
|
||||||
|
COPY ./.docker/horizon-entrypoint /bin/horizon-entrypoint
|
||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
|
|
||||||
CMD ["php-fpm", "-F", "-R", "-O"]
|
CMD /bin/php-entrypoint
|
||||||
|
|
55
README.md
55
README.md
|
@ -32,31 +32,45 @@ Außerdem ist AdReMa auch problemlos auf Handys und Tablets bedienbar ("mobiles
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
Submodules updaten:
|
## App Key generieren
|
||||||
|
|
||||||
```
|
Kopiere .app.env.example nach .app.env
|
||||||
git submodule update --init
|
|
||||||
```
|
|
||||||
|
|
||||||
Example env erstellen:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
cp .app.env.example .app.env
|
cp .app.env.example .app.env
|
||||||
```
|
```
|
||||||
|
|
||||||
Container bauen
|
Services starten:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker-compose build
|
docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
Key generieren
|
Es wird die ein App Key generiert: ``Keinen APP KEY gefunden. Key wird generiert: base64:..........``
|
||||||
|
|
||||||
```
|
Kopiere diesen App key und setze in in .app.env als APP_KEY ein (APP_KEY=base64:........).
|
||||||
docker-compose run php php artisan key:generate --show
|
|
||||||
```
|
|
||||||
|
|
||||||
Ersetze nun "YOUR_APP_KEY" in .app.env mit dem generierten Key (base64:qzX....).
|
## Einstellungen
|
||||||
|
|
||||||
|
Passe in der .app.env dann folgende Einstellungen an:
|
||||||
|
|
||||||
|
### APP_URL
|
||||||
|
|
||||||
|
Hier sollte die URL (mit HTTPS) stehen, unter der Adrema erreichbar sein soll (z.B. https://adrema.stamm-bipi.de)
|
||||||
|
|
||||||
|
### Mail
|
||||||
|
|
||||||
|
Setze nun die Einstellungen für den Mail-Versand ein. Du solltest mindestens MAIL_PORT, MAIL_HOST, MAIL_USERNAME, MAIL_PASSWORD und MAIL_ENCRYPTION setzen.
|
||||||
|
|
||||||
|
MAIL_FROM_NAME ist der Name, der als Absender von E-Mails gesetzt wird. z.B. "Stamm Bipi Service".
|
||||||
|
|
||||||
|
MAIL_FROM_ADDRESS die dazu gehörige E-Mail-Adresse, die natürlich erreichbar sein sollte (z.B. "vorstand@stamm-bipi.de").
|
||||||
|
|
||||||
|
### DB Passwort
|
||||||
|
|
||||||
|
Setze die beiden letzten Variablen (da wo "secret_db_password" steht) auf ein generiertes sicheres Passwort. Bei beiden Variablen muss der gleiche Wert eingestellt werden (also so wie vorher, nur sicherer :D )
|
||||||
|
|
||||||
|
## Starten
|
||||||
|
|
||||||
Führe nun den DB Container aus, um eine erste Version der Datenbank zu erstellen.
|
Führe nun den DB Container aus, um eine erste Version der Datenbank zu erstellen.
|
||||||
|
|
||||||
|
@ -64,24 +78,11 @@ Führe nun den DB Container aus, um eine erste Version der Datenbank zu erstelle
|
||||||
docker-compose up db -d
|
docker-compose up db -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Migrations ausführen
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose run php php artisan migrate --seed
|
|
||||||
```
|
|
||||||
|
|
||||||
Alles stoppen, dann alles neu starten
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose stop
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
Nun kannst du auf localhost:8000 die App öffnen, einen LB verwenden, den Port mit CLI Optionen ändern, etc.
|
Nun kannst du auf localhost:8000 die App öffnen, einen LB verwenden, den Port mit CLI Optionen ändern, etc.
|
||||||
|
|
||||||
## Standard Login
|
## Standard Login
|
||||||
|
|
||||||
Wenn du die Seeder ausführst ("--seed", siehe oben), wird ein Benutzer mit folgenden Zugangsdaten erstellt:
|
Beim ersten Starten wird ein Benutzer mit folgenden Zugangsdaten erstellt:
|
||||||
|
|
||||||
* E-Mail-Adresse: admin@example.com
|
* E-Mail-Adresse: admin@example.com
|
||||||
* Passwort: admin
|
* Passwort: admin
|
||||||
|
|
|
@ -27,7 +27,7 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- php
|
- php
|
||||||
command: php artisan horizon
|
command: /bin/horizon-entrypoint
|
||||||
env_file:
|
env_file:
|
||||||
- .app.env
|
- .app.env
|
||||||
environment:
|
environment:
|
||||||
|
|
Loading…
Reference in New Issue