add reverse proxy setup and setup instructions

This commit is contained in:
Gregor Vostrak
2024-01-19 03:28:51 +01:00
parent 89865b935b
commit 28f7b43577
3 changed files with 64 additions and 4 deletions
+8 -4
View File
@@ -8,12 +8,12 @@ LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
DB_PASSWORD=root
BROADCAST_DRIVER=log
CACHE_DRIVER=file
@@ -57,3 +57,7 @@ VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
NGINX_HOST_NAME=timetracker.test
NETWORK_NAME=reverse-proxy-docker-traefik_routing
+43
View File
@@ -1,2 +1,45 @@
# Time-tracking project
## Setup the Project
System Requirements:
* Docker
* PHP 8.2
* Composer
```bash
composer install
cp .env.example .env
./vendor/bin/sail up -d
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate:fresh --seed
./vendor/bin/sail npm install
./vendor/bin/sail npm run build
```
Make sure to set the APP_PORT and VITE_PORT inside your `.env` file to a port that is not already used by your system.
## Setup with Reverse Proxy
Additional System Requirements:
* Traefik 2 Reverse-Proxy (https://github.com/korridor/reverse-proxy-docker-traefik)
Add the following entry to your `/etc/hosts`
```
127.0.0.1 time-tracking.local
```
## Contributing
This project is in a very early stage. The structure and APIs are still subject to change and not stable.
Therefore we do not currently accept any contributions, unless you are a member of the team.
As soon as we feel comfortable enough that the application structure is stable enough, we will open up the project for contributions.
+13
View File
@@ -6,6 +6,15 @@ services:
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.3/app
labels:
- "traefik.enable=true"
- "traefik.docker.network=${NETWORK_NAME}"
- "traefik.http.routers.timetracking.rule=Host(`${NGINX_HOST_NAME}`)"
- "traefik.http.routers.timetracking.entrypoints=web"
- "traefik.http.services.timetracking.loadbalancer.server.port=80"
- "traefik.http.routers.timetracking-https.rule=Host(`${NGINX_HOST_NAME}`)"
- "traefik.http.routers.timetracking-https.entrypoints=websecure"
- "traefik.http.routers.timetracking-https.tls=true"
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
@@ -21,6 +30,7 @@ services:
- '.:/var/www/html'
networks:
- sail
- reverse-proxy
depends_on:
- pgsql
pgsql:
@@ -49,6 +59,9 @@ services:
retries: 3
timeout: 5s
networks:
reverse-proxy:
name: "${NETWORK_NAME}"
external: true
sail:
driver: bridge
volumes: