Running behind a proxy server - docker

I want to run my GitLab runner behind a proxy server and I have already installed cntlm and config it with my proxy server
the next step I'm trying to do is configure docker HTTP/HTTPS proxy variables as above:
[Service]
Environment=“HTTP_PROXY=http://*.*.*.*:port”
Environment=“HTTPS_PROXY=https://*.*.*.*:port”
Environment=“NO_PROXY=localhost,127.0.0.1”
My first question is what should I put in port?
Should it be my proxy server port or 80/443 or 3128?
Thanks.

The solution was running above command line:
gitlab-runner run

If you are running with a local proxy, then the port should be 3128.
It is from that port the local proxy will redirect to the actual NTLM proxy.
I have been using nrwl/nx for years, with as environment variables:
HTTPS_PROXY=http://127.0.0.1:3128
HTTP_PROXY=http://127.0.0.1:3128

Related

Setting up nginx and ssl in docker (Asp .Net API in VPS)

I want to deploy api service (asp .net) to VPS.
What is at the moment:
VPS ubuntu 22.10
Container api service with open port http.
Container mongodb.
Network bridge for communication between these containers.
Volume for storing mongodb collections.
Configured dns subdomain, which translates to ip VPS.
What I want:
To add nginx.
To add ssl (Let's Encrypt with certbot).
I don't want to use docker compose because I want to understand how things works.
I'm not strong in terminology, but perhaps what I want to do is called an open nginx proxy.
Please tell me if I understand correctly what I need to do.
Nginx:
To run a separate nginx container.
To add the nginx configuration to the docker volume.
To add nginx to the bridge network (close ports on the api container, open ports on the nginx container)
To set up nginx location configs to work internally through the network bridge.
SSL:
On the VPS machine (not in the docker container) to install and run certbot
To enabled automatic certificate renewal
I'm not sure where I need to run certbot. On vps machine or in nginx docker container.
I don't know how to configure nginx to work through the bridge.

How to change port number when hosting minio server?

I am currently working on a project where I am attempting to use MinIO with a data moving program developed by my company. This broker software only allows for devices using port 80 to successfully complete a job; however, any avid user of MinIO knows that MinIO hosts on port 9000. So my question is, is there a way to change the port on which the MinIO server is hosted? I've tried looking through the config.json file to find an address variable to assign a port number to but each of the address variables I attempted to change had no effect on the endpoint port number. For reference, I am hosting MinIO on a windows 10 virtual machine during the test phase of the project and will be moving it onto a dedicated server (also windows 10) upon successful completion of testing.
Add --address :80 when you start your minio.
You can refer to this: https://docs.min.io/docs/multi-tenant-minio-deployment-guide.html
When you start the minio server use the following command…
minio server start --address :[port you want to use]
for example…
minio server start --address :8000

How to setup Gitlab-ce on docker swarm behind Traefik?

My question may seem really similar to some others and i'm new so reputation is not enough to add to comment to :
gitlab in docker behind traefik proxy fails (usually)
I will try to be specific :
Traefik won't forward ssh request because it is not HTTP.
I want Gitlab-ce on a vps, to which I usually connect with ssh.
Is it ok to expose Gitlab to a free port on my server to listen to ssh connections ? No confusions between command to enter the vps and command to push to Gitlab ?

How to configure docker daemon for test enviroment

I try to setup unit testing agains database with docker. I use library, that runs database image during tests. Docs says:
Testcontainers will try to connect to a Docker daemon using the
following strategies in order:
Environment variables:
DOCKER_HOST (this should be set to an
HTTP/HTTPS connection rather than a unix socket at present)
DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
Defaults:
DOCKER_HOST=https://localhost:2376
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=~/.docker
If Docker Machine is installed, the docker machine environment for the
first machine found. Docker Machine needs to be on the PATH for this
to succeed.
I have docker installed in Ubuntu 16.04, but dont understund how to configure docker daemon to use with this testing library. Any helps?
Based on the doc snippet you included:
(this should be set to an
HTTP/HTTPS connection rather than a unix socket at present)
it sounds like this software doesn't support communicating with a Docker daemon over a unix socket, which is the default method the regular docker CLI will attempt to connect to docker when DOCKER_HOST is unset.
You will need to configure your locally running daemon to listen on a tcp socket in addition to the default /var/run/docker.sock unix socket.
You can set this up manually by generating TLS certificates and putting them in place on both the client and the server. Details on this procedure can be found in the Protect the Docker daemon socket article in Docker's official docs.

Docker: how to use container to replace real smtp server?

I built up my development environment using Docker containers, but currently all mails are sent by smtp server in my company, I cannot use it for testing. Is there a way that I can create a container that replaces the real smtp server? Do I need a DNS?
Thanks.
yes, just setup your SMTP server to run in a docker container using a Dockerfile in the normal way. Then when you run the container make sure you open the SMTP port ...
docker run -p 25:25 --name yourSmtpDockerContainer yourSmtpDockerImage
now if the server the container is running in exposes port 25 ... then any traffic sent to the server's domain name will be sent to the container.
You may need to expose other SMTP ports too as required - cheers

Resources