Take a look at my .NET Core website boilerplate! Google/Reddit/Github OAuth, MaterializeCSS...

栏目: IT技术 · 发布时间: 6年前

内容简介:A basic .NET Core website boilerplate using PostgreSQL for storage, Adminer for db management, Let's Encrypt for SSL certificates and Nginx for routing.For an explanation of the docker-compose file separation, take a look at.

netcore-postgres-oauth-boiler

A basic .NET Core website boilerplate using PostgreSQL for storage, Adminer for db management, Let's Encrypt for SSL certificates and Nginx for routing.

Demo website.

Features

  • Vanilla .NET Core Server Setup:
    • Razor pages, upholstered with the Materialize css toolkit
    • Server -> client data rendering demo
    • Native Entity Framework database interface, with PostgreSQL
    • Asynchronous design
    • Auth gated route examples
  • User authentication via:
    • Regular email/password
    • Google
    • Github
    • Reddit
  • Auth method merging, linking and unlinking of social auth accounts
  • TLS/HTTPS:
    • Automatic certificate generation powered by Let's Encrypt
    • Hosting modes:
      • Self hosted mode (443/80 port access required)
      • Simple mode (just the Dockerfile, http only), for use with reverse proxy configurations
  • A lightweight PostgreSQL management tool included - Adminer

Configuration

  1. Open the docker-compose file you're going to use (depends on your platform) and set CERTBOT_EMAIL to your email for Let's Encrypt certificate generation. Moreover, set DOMAIN to your domain name. The domain should point to the IP of the machine you're running this project on.
  2. The file appsettingsExample.json needs to be renamed to appsettings.json with your own OAuth keys:
  • The process for obtaining a Google key is described here .
  • The method to create a Github app in order to get an API key is described here .
  • The process for creating a Reddit app in order to get an API key is described here .

Running the boilerplate

  • Standalone:
# clone the repo
$ git clone https://github.com/Scharkee/netcore-postgres-oauth-boiler.git
$ cd netcore-postgres-oauth-boiler
# perform configuration...

# generate TLS certificates and run on ports 80/443
# choose between docker-compose-linux.yml and docker-compose-windows.yml
$ docker-compose -f docker-compose-linux.yml up

For an explanation of the docker-compose file separation, take a look at.

  • Through Visual Studio:
  1. Launch Visual Studio
  2. Right-click on the docker-compose section in the Solution Explorer, and click Set as Startup Project
  3. Select either Debug or Release at the top and click the Docker Compose button to run.

Overview of services

  1. Boilerplate runs on port 3000, and is accessible through the configured domain with managed TLS
  2. PostgreSQL runs on 5432
  3. Adminer (for managing PostgreSQL) runs and can be accessed on port 8080 (localhost:8080 in a browser).
  4. Nginx runs on ports 80 and 443. Make sure no servers/web hosts/etc. are using those ports.

Running the boilerplate independently

If you're behind Nginx or a similar reverse proxy setup, you can either:

  1. Adjust the compose file so it no longer contains the Nginx container
  2. Run only the boilerplate (you will have to run PostgreSQL separately):
    DefaultConnection
    docker build . --tag boiler
    docker run boiler -p 3000:80 --name boiler
    

Running on Windows

Docker on Windows has an open issue with local volume mapping permissions, which results in PostgreSQL not being able to write to a (relative) local directory. Thus, when running on Windows (via run.sh), an external volume is created, which is managed by Docker.

Moreover, if you encounter a PR_END_OF_FILE_ERROR when trying to load the website, try executing:

$ docker exec nginx bash -c "mv /etc/nginx/conf.d/boiler.conf{.nokey,} ; nginx -s reload"

This seems to be a symlink issue with Windows Docker containers as well. After renaming the file once, it does not need to be touched anymore (unless you purge the nginx container).

Information & Sources

Contribution & Support

Submit bugs and requests through the project's issue tracker:

License

This project is licensed under the terms of the MIT license.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法设计与分析

算法设计与分析

屈婉玲、刘田、张立昂、王捍贫 / 清华大学 / 2011-5 / 25.00元

《算法设计与分析》为计算机科学技术专业核心课程“算法设计与分析”教材.全书以算法设计技术和分析方法为主线来组织各知识单元,主要内容包括基础知识、分治策略、动态规划、贪心法、回溯与分支限界、算法分析与问题的计算复杂度、NP完全性、近似算法、随机算法、处理难解问题的策略等。书中突出对问题本身的分析和求解方法的阐述,从问题建模、算法设计与分析、改进措施等方面给出适当的建议,同时也简要介绍了计算复杂性理论......一起来看看 《算法设计与分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具