mirror of
				https://github.com/bensuperpc/infrastructure.git
				synced 2025-10-26 23:06:20 +01:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
			dns
			...
			29e3988bca
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 29e3988bca | |||
| 72973384fb | |||
| 2da0baa838 | |||
| 0c27a361d3 | |||
| 6b5f489252 | |||
| 39ba3a47a2 | |||
| 112df38652 | |||
| b9296c280d | |||
| 2df1d52ffb | |||
| b101480a01 | |||
| f11ca40a94 | |||
| 340c1a1438 | 
							
								
								
									
										15
									
								
								.gitea/workflows/gitea-ci.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.gitea/workflows/gitea-ci.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| name: Build And Test | ||||
| run-name: ${{ gitea.actor }} is runs ci pipeline | ||||
| on: [ push ] | ||||
|  | ||||
| jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - run: ls | ||||
| publish: | ||||
|     runs-on: cth-ubuntu-latest | ||||
|     needs: build | ||||
|     if: gitea.ref == 'refs/heads/main' | ||||
|     steps: | ||||
|       - run: ls | ||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -13,7 +13,7 @@ | ||||
|  | ||||
| DOCKER := docker | ||||
|  | ||||
| PROFILES := caddy wordpress adminer uptime-kuma qbittorrent gitea jellyfin watchtower backup openssh dns-server syncthing | ||||
| PROFILES := caddy wordpress adminer uptime-kuma qbittorrent jellyfin watchtower backup syncthing openssh gitea gitea-runner | ||||
| PROFILE_CMD := $(addprefix --profile ,$(PROFILES)) | ||||
|  | ||||
| COMPOSE_FILES :=  $(shell find docker-compose*.yml | sed -e 's/^/--file /') | ||||
|   | ||||
| @@ -31,7 +31,7 @@ If you have any **questions** or **suggestions**, feel free to open an issue or | ||||
| - [Docker Compose](https://docs.docker.com/compose/install/) | ||||
| - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | ||||
| - [Web domain](https://www.ovh.com/world/domains/) (I use OVH) | ||||
| - [Open port 80 and 443 on your router](http://192.168.0.1/) (I use a SFR box with default IP) | ||||
| - [Open port 80, 443, 2222 on your router](http://192.168.0.1/) | ||||
|  | ||||
| ***To avoid get rate limit from letsencrypt (10 certificates per 3 hours), you need to disable some certificates in the caddyfiles and enable them 3h later...*** | ||||
|  | ||||
| @@ -170,6 +170,8 @@ You can find all services on the [docker-compose.yml](docker-compose.yml) file o | ||||
|  | ||||
| You can disable some services by removing the service name in PROFILES variable in the [Makefile](Makefile) file. | ||||
|  | ||||
| To enable the gitea CI: https://medium.com/@lokanx/how-to-build-docker-containers-using-gitea-runners-600729555e07 | ||||
|  | ||||
| ## Build with | ||||
|  | ||||
| - [Wordpress](https://wordpress.org/) | ||||
|   | ||||
| @@ -4,12 +4,12 @@ | ||||
|  | ||||
| 	log { | ||||
| 		output file /data/logs/access.log | ||||
| 		format console | ||||
| 		format json | ||||
| 	} | ||||
| } | ||||
|  | ||||
| import bensuperpc.org/Caddyfile | ||||
| import bensuperpc.com/Caddyfile | ||||
| import bensuperpc.net/Caddyfile | ||||
| import bensuperpc.ovh/Caddyfile | ||||
| import bensuperpc.fr/Caddyfile | ||||
| import bensuperpc.org/* | ||||
| import bensuperpc.com/* | ||||
| import bensuperpc.net/* | ||||
| import bensuperpc.ovh/* | ||||
| import bensuperpc.fr/* | ||||
|   | ||||
| @@ -5,3 +5,15 @@ bensuperpc.net { | ||||
| www.bensuperpc.net { | ||||
| 	redir https://www.bensuperpc.org{uri} permanent | ||||
| } | ||||
|  | ||||
| git.bensuperpc.net { | ||||
| 	redir https://git.bensuperpc.org{uri} permanent | ||||
| } | ||||
|  | ||||
| jellyfin.bensuperpc.net { | ||||
| 	redir https://jellyfin.bensuperpc.org{uri} permanent | ||||
| } | ||||
|  | ||||
| uptimekuma.bensuperpc.net { | ||||
| 	redir https://uptimekuma.bensuperpc.org{uri} permanent | ||||
| } | ||||
|   | ||||
| @@ -59,20 +59,12 @@ jellyfin.bensuperpc.org { | ||||
| 	reverse_proxy jellyfin:8096 | ||||
| } | ||||
|  | ||||
| ssh.bensuperpc.org { | ||||
| 	reverse_proxy openssh:2222 | ||||
| } | ||||
|  | ||||
| syncthing.bensuperpc.org { | ||||
| 	reverse_proxy syncthing:8384 { | ||||
| 		header_up Host {upstream_hostport} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| dns.bensuperpc.org { | ||||
| 	reverse_proxy dns-server:5380 | ||||
| } | ||||
|  | ||||
| link.bensuperpc.org { | ||||
| 	# TODO: Use service with database | ||||
| 	# Friendly links | ||||
|   | ||||
							
								
								
									
										98
									
								
								config/gitea_runner/config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								config/gitea_runner/config.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | ||||
| # Example configuration file, it's safe to copy this as the default config file without any modification. | ||||
|  | ||||
| # You don't have to copy this file to your instance, | ||||
| # just run `./act_runner generate-config > config.yaml` to generate a config file. | ||||
|  | ||||
| log: | ||||
|   # The level of logging, can be trace, debug, info, warn, error, fatal | ||||
|   level: info | ||||
|  | ||||
| runner: | ||||
|   # Where to store the registration result. | ||||
|   file: .runner | ||||
|   # Execute how many tasks concurrently at the same time. | ||||
|   capacity: 1 | ||||
|   # Extra environment variables to run jobs. | ||||
|   envs: | ||||
|     A_TEST_ENV_NAME_1: a_test_env_value_1 | ||||
|     A_TEST_ENV_NAME_2: a_test_env_value_2 | ||||
|   # Extra environment variables to run jobs from a file. | ||||
|   # It will be ignored if it's empty or the file doesn't exist. | ||||
|   env_file: .env | ||||
|   # The timeout for a job to be finished. | ||||
|   # Please note that the Gitea instance also has a timeout (3h by default) for the job. | ||||
|   # So the job could be stopped by the Gitea instance if it's timeout is shorter than this. | ||||
|   timeout: 3h | ||||
|   # Whether skip verifying the TLS certificate of the Gitea instance. | ||||
|   insecure: false | ||||
|   # The timeout for fetching the job from the Gitea instance. | ||||
|   fetch_timeout: 5s | ||||
|   # The interval for fetching the job from the Gitea instance. | ||||
|   fetch_interval: 2s | ||||
|   # The labels of a runner are used to determine which jobs the runner can run, and how to run them. | ||||
|   # Like: "macos-arm64:host" or "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest" | ||||
|   # Find more images provided by Gitea at https://gitea.com/gitea/runner-images . | ||||
|   # If it's empty when registering, it will ask for inputting labels. | ||||
|   # If it's empty when execute `daemon`, will use labels in `.runner` file. | ||||
|   labels: | ||||
|     - "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest" | ||||
|     - "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04" | ||||
|     - "ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04" | ||||
|  | ||||
| cache: | ||||
|   # Enable cache server to use actions/cache. | ||||
|   enabled: true | ||||
|   # The directory to store the cache data. | ||||
|   # If it's empty, the cache data will be stored in $HOME/.cache/actcache. | ||||
|   dir: "" | ||||
|   # The host of the cache server. | ||||
|   # It's not for the address to listen, but the address to connect from job containers. | ||||
|   # So 0.0.0.0 is a bad choice, leave it empty to detect automatically. | ||||
|   host: "" | ||||
|   # The port of the cache server. | ||||
|   # 0 means to use a random available port. | ||||
|   port: 0 | ||||
|   # The external cache server URL. Valid only when enable is true. | ||||
|   # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself. | ||||
|   # The URL should generally end with "/". | ||||
|   external_server: "" | ||||
|  | ||||
| container: | ||||
|   # Specifies the network to which the container will connect. | ||||
|   # Could be host, bridge or the name of a custom network. | ||||
|   # If it's empty, act_runner will create a network automatically. | ||||
|   network: "" | ||||
|   # Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker). | ||||
|   privileged: false | ||||
|   # And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway). | ||||
|   options: | ||||
|   # The parent directory of a job's working directory. | ||||
|   # NOTE: There is no need to add the first '/' of the path as act_runner will add it automatically.  | ||||
|   # If the path starts with '/', the '/' will be trimmed. | ||||
|   # For example, if the parent directory is /path/to/my/dir, workdir_parent should be path/to/my/dir | ||||
|   # If it's empty, /workspace will be used. | ||||
|   workdir_parent: | ||||
|   # Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob | ||||
|   # You can specify multiple volumes. If the sequence is empty, no volumes can be mounted. | ||||
|   # For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to: | ||||
|   # valid_volumes: | ||||
|   #   - data | ||||
|   #   - /src/*.json | ||||
|   # If you want to allow any volume, please use the following configuration: | ||||
|   # valid_volumes: | ||||
|   #   - '**' | ||||
|   valid_volumes: [] | ||||
|   # overrides the docker client host with the specified one. | ||||
|   # If it's empty, act_runner will find an available docker host automatically. | ||||
|   # If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers. | ||||
|   # If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work. | ||||
|   docker_host: "" | ||||
|   # Pull docker image(s) even if already present | ||||
|   force_pull: true | ||||
|   # Rebuild docker image(s) even if already present | ||||
|   force_rebuild: false | ||||
|  | ||||
| host: | ||||
|   # The parent directory of a job's working directory. | ||||
|   # If it's empty, $HOME/.cache/act/ will be used. | ||||
|   workdir_parent: | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Adminer | ||||
|   adminer: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: adminer | ||||
|     profiles: | ||||
|       - adminer | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     env_file:  | ||||
|       - env/adminer.env | ||||
|     depends_on: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Backup | ||||
|   backup: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: backup | ||||
|     profiles: | ||||
|       - backup | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     env_file: | ||||
|       - env/backup.env | ||||
|     volumes: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Caddy | ||||
|   caddy: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: caddy | ||||
|     profiles: | ||||
|       - caddy | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     ports: | ||||
|       - 80:80 | ||||
|       - 443:443 | ||||
| @@ -20,19 +18,17 @@ services: | ||||
|       - infra-network | ||||
|     env_file: | ||||
|       - env/caddy.env | ||||
|     cap_add: | ||||
|       - NET_ADMIN | ||||
|     security_opt: | ||||
|       - no-new-privileges:true | ||||
|     #    cap_drop: | ||||
|     #      - ALL | ||||
|     #    cap_add: | ||||
|     #      - CHOWN | ||||
|     #      - FOWNER | ||||
|     #      - DAC_OVERRIDE | ||||
|     #      - SETGID | ||||
|     #      - SETUID | ||||
|     #      - NET_BIND_SERVICE | ||||
|     cap_drop: | ||||
|       - ALL | ||||
|     cap_add: | ||||
| #      - CHOWN | ||||
| #      - FOWNER | ||||
| #      - DAC_OVERRIDE | ||||
| #      - SETGID | ||||
| #      - SETUID | ||||
|       - NET_BIND_SERVICE | ||||
|     healthcheck: | ||||
|       test: pidof caddy || exit 1 | ||||
|       interval: 120s | ||||
|   | ||||
| @@ -1,23 +0,0 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   dns-server: | ||||
|     container_name: dns-server | ||||
|     hostname: dns-server | ||||
|     profiles: | ||||
|       - dns-server | ||||
|     image: technitium/dns-server:latest | ||||
|     restart: on-failure | ||||
|     networks: | ||||
|       - infra-network | ||||
|     security_opt: | ||||
|       - no-new-privileges:true | ||||
|     volumes: | ||||
|       - dns-config:/etc/dns | ||||
|     env_file: | ||||
|       - env/technitium.env | ||||
|  | ||||
| volumes: | ||||
|   dns-config: | ||||
|     name: dns-config | ||||
|  | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Gitea | ||||
|   gitea: | ||||
| @@ -7,9 +5,12 @@ services: | ||||
|     container_name: gitea | ||||
|     profiles: | ||||
|       - gitea | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     depends_on: | ||||
|       - database_gitea | ||||
|       - caddy | ||||
|     ports: | ||||
|       - "22:22" | ||||
|     env_file: | ||||
|       - env/gitea.env | ||||
|     volumes: | ||||
| @@ -29,9 +30,7 @@ services: | ||||
|     profiles: | ||||
|       - database | ||||
|       - gitea | ||||
|     depends_on: | ||||
|       - gitea | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     volumes: | ||||
|       - gitea_db:/var/lib/mysql:rw | ||||
|     env_file: | ||||
| @@ -42,6 +41,26 @@ services: | ||||
|     security_opt: | ||||
|       - no-new-privileges:true | ||||
|  | ||||
|   # Gitea-runner | ||||
|   gitea-runner: | ||||
|     image: gitea/act_runner:latest | ||||
|     container_name: gitea-runner | ||||
|     profiles: | ||||
|       - gitea-runner | ||||
|     depends_on: | ||||
|       - gitea | ||||
|     restart: on-failure:5 | ||||
|     env_file: | ||||
|       - env/gitea-runner.env | ||||
|     volumes: | ||||
|       - /var/run/docker.sock:/var/run/docker.sock | ||||
|       - gitea_runner:/data | ||||
|       - ./config/gitea_runner/config.yaml:/config.yaml:ro | ||||
|     networks: | ||||
|       - infra-network | ||||
|     security_opt: | ||||
|       - no-new-privileges:true | ||||
|  | ||||
| volumes: | ||||
|   gitea_data: | ||||
|     name: gitea_data | ||||
| @@ -49,3 +68,5 @@ volumes: | ||||
|     name: gitea_config | ||||
|   gitea_db: | ||||
|     name: gitea_db | ||||
|   gitea_runner: | ||||
|     name: gitea_runner | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Jellyfin | ||||
|   jellyfin: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: jellyfin | ||||
|     profiles: | ||||
|       - jellyfin | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     volumes: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Openssh | ||||
|   openssh: | ||||
| @@ -7,7 +5,9 @@ services: | ||||
|     container_name: openssh | ||||
|     profiles: | ||||
|       - openssh | ||||
|     restart: on-failure | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     restart: on-failure:5 | ||||
|     env_file: | ||||
|       - env/openssh.env | ||||
|     volumes: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # qBittorrent | ||||
|   qbittorrent: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: qbittorrent | ||||
|     profiles: | ||||
|       - qbittorrent | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     env_file: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # syncthing | ||||
|   syncthing: | ||||
| @@ -7,7 +5,9 @@ services: | ||||
|     container_name: syncthing | ||||
|     profiles: | ||||
|       - syncthing | ||||
|     restart: on-failure | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     restart: on-failure:5 | ||||
|     env_file: | ||||
|       - env/syncthing.env | ||||
|     volumes: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Uptime Kuma | ||||
|   uptime-kuma: | ||||
| @@ -9,7 +7,9 @@ services: | ||||
|       - uptime-kuma | ||||
|     volumes: | ||||
|       - uptimekuma_data:/app/data | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     networks: | ||||
|       - infra-network | ||||
|     security_opt: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Watchtower | ||||
|   watchtower: | ||||
| @@ -7,7 +5,9 @@ services: | ||||
|     container_name: watchtower | ||||
|     profiles: | ||||
|       - watchtower | ||||
|     restart: on-failure | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     restart: on-failure:5 | ||||
|     networks: | ||||
|       - infra-network | ||||
|     volumes: | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| version: '3.9' | ||||
|  | ||||
| services: | ||||
|   # Wordpress | ||||
|   wordpress: | ||||
| @@ -7,7 +5,7 @@ services: | ||||
|     container_name: wordpress | ||||
|     profiles: | ||||
|       - wordpress | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     depends_on: | ||||
|       - wordpress_db | ||||
|       - caddy | ||||
| @@ -30,7 +28,7 @@ services: | ||||
|       - wordpress | ||||
|     depends_on: | ||||
|       - caddy | ||||
|     restart: on-failure | ||||
|     restart: on-failure:5 | ||||
|     volumes: | ||||
|       - wordpress_db:/var/lib/mysql:rw | ||||
|     env_file: | ||||
|   | ||||
							
								
								
									
										5
									
								
								env/gitea-runner.env
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								env/gitea-runner.env
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| GITEA_INSTANCE_URL=https://git.bensuperpc.org | ||||
| GITEA_RUNNER_REGISTRATION_TOKEN=TBGzS0m823Xk732zRqjrbcSWFTEPajj5V5OFzXWP | ||||
| GITEA_RUNNER_NAME=runner-1 | ||||
| #GITEA_RUNNER_LABELS= | ||||
| CONFIG_FILE=/config.yaml | ||||
							
								
								
									
										8
									
								
								env/gitea.env
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								env/gitea.env
									
									
									
									
										vendored
									
									
								
							| @@ -5,3 +5,11 @@ GITEA__database__HOST=database_gitea:3306 | ||||
| GITEA__database__NAME=gitea | ||||
| GITEA__database__USER=bensuperpc | ||||
| GITEA__database__PASSWD=K7s5yoHknnEd7vsZoxb8I3dK9mjToF1j | ||||
| #GITEA__security__SECRET_KEY= | ||||
| #GITEA__security__INTERNAL_TOKEN= | ||||
| GITEA__server__DOMAIN=git.bensuperpc.org | ||||
| GITEA__server__SSH_DOMAIN=git.bensuperpc.org | ||||
| GITEA__server__HTTP_PORT=3000 | ||||
| GITEA__server__SSH_LISTEN_PORT=22 | ||||
| GITEA__server__SSH_PORT=22 | ||||
| GITEA__server__ROOT_URL=https://git.bensuperpc.org | ||||
							
								
								
									
										18
									
								
								env/technitium.env
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								env/technitium.env
									
									
									
									
										vendored
									
									
								
							| @@ -1,18 +0,0 @@ | ||||
| DNS_SERVER_DOMAIN=dns-server | ||||
| DNS_SERVER_ADMIN_PASSWORD=fddsdfF548TjSNbi490fzZspmLSDf | ||||
| # DNS_SERVER_ADMIN_PASSWORD_FILE=password.txt | ||||
| # DNS_SERVER_PREFER_IPV6=false | ||||
| # DNS_SERVER_WEB_SERVICE_HTTP_PORT=5380 | ||||
| # DNS_SERVER_WEB_SERVICE_HTTPS_PORT=53443 | ||||
| # DNS_SERVER_WEB_SERVICE_ENABLE_HTTPS=true | ||||
| # DNS_SERVER_WEB_SERVICE_USE_SELF_SIGNED_CERT=false | ||||
| # DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP=true | ||||
| # DNS_SERVER_RECURSION=AllowOnlyForPrivateNetworks | ||||
| # DNS_SERVER_RECURSION_DENIED_NETWORKS=1.1.1.0/24 | ||||
| # DNS_SERVER_RECURSION_ALLOWED_NETWORKS=127.0.0.1, 192.168.1.0/24 | ||||
| # DNS_SERVER_ENABLE_BLOCKING=false | ||||
| # DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT=false | ||||
| # DNS_SERVER_BLOCK_LIST_URLS= | ||||
| # DNS_SERVER_FORWARDERS=1.1.1.1, 8.8.8.8 | ||||
| # DNS_SERVER_FORWARDER_PROTOCOL=Tcp | ||||
| # DNS_SERVER_LOG_USING_LOCAL_TIME=true | ||||
		Reference in New Issue
	
	Block a user