docker

 
services:
 
  newsnow:
 
    image: "ghcr.io/ourongxing/newsnow:latest"
 
    ports:
 
      - "666:4444"
 
G_CLIENT_ID=Ov23liD1GnnlYh2h6Pby
G_CLIENT_SECRET=e0b57d9f28f46e6d067a6d60ad80d841865f39b8
JWT_SECRET=e0b57d9f28f46e6d067a6d60ad80d841865f39b8
INIT_TABLE=true
ENABLE_CACHE=true

github app

https://github.com/settings/applications/3014892

client id:Ov23liD1GnnlYh2h6Pby

client secret:

e0b57d9f28f46e6d067a6d60ad80d841865f39b8

nginx

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
 
# Default server configuration
#
server {
	listen 80 default_server;
	listen [::]:80 default_server;
 
	root /var/www/html;
 
	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;
 
	server_name _;
 
	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
	}
}
 
 
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}
 
server {
	root /var/www/html;
 
	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;
    server_name zhangmin.name; # managed by Certbot
 
 
	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
	}
 
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/zhangmin.name/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/zhangmin.name/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
 
 
}
server {
    if ($host = zhangmin.name) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
 
 
	listen 80 ;
	listen [::]:80 ;
    server_name zhangmin.name;
    return 404; # managed by Certbot
}
 
 
server {
	server_name news.zhangmin.name;
 
	listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/zhangmin.name/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/zhangmin.name/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
 
	location / {
		proxy_pass http://127.0.0.1:666;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
 
}
 
 
server {
    if ($host = news.zhangmin.name) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
 
 
	listen 80 ;
	listen [::]:80 ;
    server_name news.zhangmin.name;
    return 404; # managed by Certbot
}