Skip to content

Instantly share code, notes, and snippets.

View rgordeev's full-sized avatar

Roman Gordeev rgordeev

View GitHub Profile
@rgordeev
rgordeev / Установка Outline VPN на Ubuntu 20.04.md
Created January 12, 2024 14:20 — forked from YPermitin/Установка Outline VPN на Ubuntu 20.04.md
Инструкция по развертыванию собственного VPN-сервиса на базе Outline VPN

Установка Outline VPN на Ubuntu 20.04

Outline VPN - это бесплатный инструмент с открытым исходным кодом, позволяющий развернуть собственную VPN на Вашем собственном сервере или на машине облачного провайдера. Подробную информацию Вы можете узнать здесь и здесь.

В своем составе имеет как графические инструменты, так и средства работы через командную строку. Позволяет использовать VPN как на настольных компьютерах, так и на мобильных устройствах.

Прежде чем начать

@rgordeev
rgordeev / nginx-tuning.md
Created September 27, 2023 16:54 — forked from denji/nginx-tuning.md
NGINX tuning for best performance

Moved to git repository: https://github.com/denji/nginx-tuning

NGINX Tuning For Best Performance

For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.

Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.

You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.

@rgordeev
rgordeev / Установка Outline VPN на Ubuntu 20.04.md
Created September 11, 2023 20:34 — forked from JohnyDeath/Установка Outline VPN на Ubuntu 20.04.md
Инструкция по развертыванию собственного VPN-сервиса на базе Outline VPN

Установка Outline VPN на Ubuntu 20.04

Outline VPN - это бесплатный инструмент с открытым исходным кодом, позволяющий развернуть собственную VPN на Вашем собственном сервере или на машине облачного провайдера. Подробную информацию Вы можете узнать здесь и здесь.

В своем составе имеет как графические инструменты, так и средства работы через командную строку. Позволяет использовать VPN как на настольных компьютерах, так и на мобильных устройствах.

Прежде чем начать

Вам нужен сервер. Да, его нужно арендовать, учитывая его местоположение. Например, если Вам нужно получать доступ к ресурсам, которые недоступны в текущем местоположении, но доступны, например, в Канаде, то смело арендуйте виртуальную машину в AWS, Digital Ocean или любом другом месте.

Features of Minio Server.

Item Specification
Custom access key environment MINIO_ACCESS_KEY
Custom secret key environment MINIO_SECRET_KEY
Turn off web browser environment MINIO_BROWSER=off
Listening on bucket notifications using an extended S3 API
Support for bucket notifications postgres, amqp, nats, elasticsearch, redis, kafka (in-progress)
Shared Backend (FS) In-progress
@rgordeev
rgordeev / nginxproxy.md
Created September 19, 2022 16:02 — forked from soheilhy/nginxproxy.md
How to proxy web apps using nginx?

Virtual Hosts on nginx (CSC309)

When hosting our web applications, we often have one public IP address (i.e., an IP address visible to the outside world) using which we want to host multiple web apps. For example, one may wants to host three different web apps respectively for example1.com, example2.com, and example1.com/images on the same machine using a single IP address.

How can we do that? Well, the good news is Internet browsers

@rgordeev
rgordeev / 01_spring_boot_web_ssl_x509.md
Created August 15, 2022 17:02 — forked from neolaw84/01_spring_boot_web_ssl_x509.md
Creating a Spring Boot Web (REST) service with SSL
@rgordeev
rgordeev / keybase.md
Created January 17, 2021 11:30
keybase.md

Keybase proof

I hereby claim:

  • I am rgordeev on github.
  • I am rgordeev (https://keybase.io/rgordeev) on keybase.
  • I have a public key whose fingerprint is BA07 DDBA 5536 B85C 20D9 36F3 2063 6C2C 05BC 8FAA

To claim this, I am signing this object:

@rgordeev
rgordeev / it-ebooks.md
Created December 11, 2020 15:11 — forked from baiwfg2/it-ebooks.md
Download ebooks as you want
@rgordeev
rgordeev / gcsettings.sh
Created November 25, 2020 14:01 — forked from svanoort/gcsettings.sh
Blessed GC settings for big servers
# Base settings and GC logging
-server -XX:+AlwaysPreTouch # First should be default, but we make it explicit, second pre-zeroes memory mapped pages on JVM startup -- improves runtime performance
# -Xloggc:gc-%t.log # CUSTOMIZE LOCATION HERE - $path/gc-%t.log -- the %t in the gc log file path is so we get a new file with each JVM restart
-XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m # Limits the number of files, logs to folder
-XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause
-XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy # gather info on object age & reference GC time for further tuning if needed.
# G1 specific settings -- probably should be default for multi-core systems with >2 GB of heap (below that, default is probably fine)
-XX:+UseG1GC
-XX:+UseStringDeduplication