Community website for runners to share tracks and plan runs together.

Lukas Angerer b57b099181 Restoring wwwroot/.gitkeep after build преди 3 години
config a921902570 Build scripts and configuration for staging преди 3 години
sandbox a921902570 Build scripts and configuration for staging преди 3 години
src 5343cbe91e File upload safety checks преди 3 години
.editorconfig 765ba63237 Project configuration files преди 3 години
.gitignore a921902570 Build scripts and configuration for staging преди 3 години
DESCRIPTION 765ba63237 Project configuration files преди 3 години
LICENSE 765ba63237 Project configuration files преди 3 години
README.md 824802a538 Updated readme with development notes преди 3 години
build.ps1 b57b099181 Restoring wwwroot/.gitkeep after build преди 3 години
docker-compose-local.yml a921902570 Build scripts and configuration for staging преди 3 години
docker-compose-server.yml 03e1ad4708 Docker Compose file for running in prod behind a reverse proxy преди 3 години
push.ps1 a921902570 Build scripts and configuration for staging преди 3 години

README.md

TODO

Development

Local Development

Start the client with

cd src/RunnersMeet.Client
ng serve

It will run on the Angular default port http://localhost:4200

Start the server by either launching it from within your IDE or by running

cd src/RunnersMeet.Server
dotnet run .

In development mode, the API server runs on https://localhost:7247 with Swagger enabled (https://localhost:7247/swagger)

Create a Deployable Package

./build.ps1
./push.ps1

Staging (Docker Container)

To do some proper staging testing before updating the production environment, there is a dedicated docker-compose-local.yml file and a "sandbox" directory with HTTPS certificate and a mapped volume for the application data.

docker compose -f ./docker-compose-local.yml up

When running in this mode, the application frontend and backend are both accessed through https://localhost:7443

Production

The docker-compose-server.yml file assumes that the container will be accessed through a reverse proxy like Nginx and that SSL is applied on the level of that proxy. The container runs over HTTP on port 80 which is exposed as 7180 on the host.

On the production server, the application directory looks something like this:

- (d) config                     # copied from this repository
  - (f) app.prod.config.json
  - (f) app.staging.config.json
- (d) data                       # mounted as "/app/data" in the container
  - (d) files
  - (f) tracks.db
  - (f) tracks-log.db
- (f) docker-compose-server.yml  # taken from this repository

The server can then be started with

docker compose -f ./docker-compose-server.yml up