Mihail
бизапасназть
ну вот хотелось бы отключить как-то это поведение
Vladimir
Всем привет, есть проект под docker-compose, внутри есть nginx Может кто подсказать, как на nginx поставить basic auth ?
Ivan
Всем привет, есть проект под docker-compose, внутри есть nginx Может кто подсказать, как на nginx поставить basic auth ?
сгенерь .htpasswd и положи внутрь контейнера в конфиге нджинкса location / { auth_basic "Administrator’s Area"; auth_basic_user_file /usr/share/nginx/.htpasswd; }
Ivan
а ты пытался гуглить?
Vladimir
сгенерь .htpasswd и положи внутрь контейнера в конфиге нджинкса location / { auth_basic "Administrator’s Area"; auth_basic_user_file /usr/share/nginx/.htpasswd; }
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; server_tokens off; chunked_transfer_encoding off; gzip on; gzip_types application/json; gzip_min_length 1000; include /etc/nginx/conf.d/*.conf; } Вот такой конфиг, я не понимаю, в какое место надо вставлять инфу про авторизацию
Ivan
Получается просто добавить location / блок с авторизацией?
если тебе нужно закрыть весь сайт - да
Ivan
у тебя еще конфиг должен быть тут include /etc/nginx/conf.d/*.conf;
Газиев
Всем привет
Andrey
Всем привет
1. nometa.xyz 2. nohello.net 3. neprivet.com
Газиев
Всем привет
это просто что бы пройти капчу)
Максим
Серт и ключ уже есть?
Максим
Если нет, то нужно получить у удостоверяющего центра или сгенерить через Let's Encrypt. Потом уже к nginx возвращаться
Максим
Для теста можно самоподписанный через openssl сделать, но лучше этого даже в dev среде не делать. Ну разве что только в DMZ.
Vladimir
Серт и ключ уже есть?
Нет, ничего нету, ну я так понимаю нужен let's encrypt серт, но мне не понятно как его в докер прокидывать
Максим
Монтировать в директорию с сертами и ключами. /etc/nginx/ssl
Максим
И в конфиге nginx добавлять к http пометку tls. После указывать путь к ключу и серту.
Максим
Можно не монтировать файлы, а передать прям строку содержимого в переменные среды. А контейнер будет внутри забирать содержимое переменной в файлы.
Максим
Через echo и перенаправление вывода, например.
Александр
Кто шарит, что за баг? ✘ project Error pull access denied for yt_dockewr, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Andrew
это не баг, это фича. доступ нужен.
Александр
все понял, отстал
Akane
все понял, отстал
вот все бы так
Kuzika
Привет
TheOneReborn
Запускаю docker-compose, в терминале выдаёт: postgres-1 | postgres-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization postgres-1 | postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: starting PostgreSQL 16.4 (Debian 16.4-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv6 address "::", port 5432 postgres-1 | 2024-10-12 15:00:04.772 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgres-1 | 2024-10-12 15:00:04.784 UTC [29] LOG: database system was shut down at 2024-10-12 14:55:59 UTC postgres-1 | 2024-10-12 15:00:04.795 UTC [1] LOG: database system is ready to accept connections postgres-1 | 2024-10-12 15:00:14.806 UTC [40] FATAL: database "admin" does not exist Но такой базы у меня и нет, это user есть с таким именем. Сам контейнер с postgre в docker-compose: postgres: image: postgres:16.4 restart: always environment: POSTGRES_DB: across POSTGRES_USER: admin POSTGRES_PASSWORD: admin ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] interval: 10s timeout: 5s retries: 5 Как видно, в POSTGRES_DB передаю across, а не admin. В чём проблема? 🤨
Максим
Запускаю docker-compose, в терминале выдаёт: postgres-1 | postgres-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization postgres-1 | postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: starting PostgreSQL 16.4 (Debian 16.4-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv6 address "::", port 5432 postgres-1 | 2024-10-12 15:00:04.772 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgres-1 | 2024-10-12 15:00:04.784 UTC [29] LOG: database system was shut down at 2024-10-12 14:55:59 UTC postgres-1 | 2024-10-12 15:00:04.795 UTC [1] LOG: database system is ready to accept connections postgres-1 | 2024-10-12 15:00:14.806 UTC [40] FATAL: database "admin" does not exist Но такой базы у меня и нет, это user есть с таким именем. Сам контейнер с postgre в docker-compose: postgres: image: postgres:16.4 restart: always environment: POSTGRES_DB: across POSTGRES_USER: admin POSTGRES_PASSWORD: admin ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] interval: 10s timeout: 5s retries: 5 Как видно, в POSTGRES_DB передаю across, а не admin. В чём проблема? 🤨
Создал контейнер с одним значением environment, а потом поменял что-нибудь?
Юлиан🦉
Запускаю docker-compose, в терминале выдаёт: postgres-1 | postgres-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization postgres-1 | postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: starting PostgreSQL 16.4 (Debian 16.4-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 postgres-1 | 2024-10-12 15:00:04.763 UTC [1] LOG: listening on IPv6 address "::", port 5432 postgres-1 | 2024-10-12 15:00:04.772 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgres-1 | 2024-10-12 15:00:04.784 UTC [29] LOG: database system was shut down at 2024-10-12 14:55:59 UTC postgres-1 | 2024-10-12 15:00:04.795 UTC [1] LOG: database system is ready to accept connections postgres-1 | 2024-10-12 15:00:14.806 UTC [40] FATAL: database "admin" does not exist Но такой базы у меня и нет, это user есть с таким именем. Сам контейнер с postgre в docker-compose: postgres: image: postgres:16.4 restart: always environment: POSTGRES_DB: across POSTGRES_USER: admin POSTGRES_PASSWORD: admin ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] interval: 10s timeout: 5s retries: 5 Как видно, в POSTGRES_DB передаю across, а не admin. В чём проблема? 🤨
Попробуй явно базу передать
TheOneReborn
Создал контейнер с одним значением environment, а потом поменял что-нибудь?
Пересобирал его ж без кэша несколько раз, env же поменяться должен всё равно?
Ed 😴
здравствуйте, какая версия докера было год назад?
Максим
Пересобирал его ж без кэша несколько раз, env же поменяться должен всё равно?
Какой кэш. Данные БД хранятся в volume, он заполняется при первом запуске контейнера, и от перестройки образа не зависит никак. Если надо создать базу заново - удали volume
Konstantin
ох уж это вольюмы
Максим
Удалял уже все volume, не помогло 😭
Пока что слабо верится
Максим
Команды в студию
Юлиан🦉
Как? 🚨
Я про pg_ready)
TheOneReborn
Команды в студию
Перешёл обратно на SQLite пока что
TheOneReborn
Я про pg_ready)
Ммм? Не понял? Можете, пожалуйста, развёрнуто объяснить 🤷‍♀️
Юлиан🦉
TheOneReborn
healthcheck вызывается pg_isready без указания базы
А, то есть у меня так: healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] А надо попробовать так? healthcheck: test: ["CMD-SHELL", "pg_isready"]
Юлиан🦉
А, то есть у меня так: healthcheck: test: ["CMD-SHELL", "pg_isready -U admin"] А надо попробовать так? healthcheck: test: ["CMD-SHELL", "pg_isready"]
Не, наоборот, глянь в доке pg_isready, как указать все параметры подключения, или хотя бы просто базу дополнительно для начала
Marsh
добрый вечер хочу соединить 2 компа в swarm но при docker swarm init --advertise-addr 192.168.1.101 выходит ошибка Error response from daemon: must specify a listening address because the address to advertise is not recognized as a system address, and a system's IP address to use could not be uniquely identified сеть 192.168.1.0/24 физическая, висит на роутере keenetic extra адресс 192.168.1.101 закреплён за этим пк
Marsh
А ip addr что говорит?
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:49:1a:1d brd ff:ff:ff:ff:ff:ff inet 172.22.81.112/20 brd 172.22.95.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe49:1a1d/64 scope link valid_lft forever preferred_lft forever 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:71:98:2b:7f brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:71ff:fe98:2b7f/64 scope link valid_lft forever preferred_lft forever 6: veth-rd-wsl@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 7e:5c:53:20:d4:fc brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.143.2/24 brd 192.168.143.255 scope global veth-rd-wsl valid_lft forever preferred_lft forever inet6 fe80::147a:2cff:fe79:b44f/64 scope link valid_lft forever preferred_lft forever
Marsh
это из wsl
Alexander
Ну нет тут 192.168.1.101
Marsh
из хост системы Адаптер Ethernet Ethernet: DNS-суффикс подключения . . . . . : Локальный IPv6-адрес канала . . . : fe80::9c2d:d0a:c1ec:d76e%18 IPv4-адрес. . . . . . . . . . . . : 192.168.1.101 Маска подсети . . . . . . . . . . : 255.255.255.0 Основной шлюз. . . . . . . . . : 192.168.1.1
Marsh
Ну нет тут 192.168.1.101
что тогда указать?
Alexander
Смотря чего нужно добиться. Я в wsl не спец, посоветовал бы использовать linux. )
Эльнур
Мужики, кто нибудь fastpanel на убунту ставил? Ошибку при установке постоянно выдает
Эльнур
Привет логи и всё такое
Поставил с горем пополам, но в панель не пускает
Эльнур
Aleksey
Поставил с горем пополам, но в панель не пускает
Гуглани как пароль сбросить типа. passwd fastuser
Эльнур
fastuser пароль в логах
На порт 8888 не пускает вообще
Aleksey
ss -tylp сделай плизз
Интригуешь,
Ты ему про а, он тебе про л Ты ему про а, он тебе про ъ Ты ему про б, он тебе про ч
Интригуешь,
E
всем здрасть. а тут только православно верный докер дозволено упоминать или богопротивный подман тоже имеет право на прославление?
E
https://t.me/ru_podman
благодарю
Геннадий
как почистить контейнеры чтобы docker-compose с нуля собирал ? docker-compose rm удалил контейнер, но он почему-то запускается снова сразу не билдится, в docker-compose images пусто, или как сделать rebuild $ sudo docker-compose build --no-cache postgres-db uses an image, skipping $ sudo docker-compose images Container Repository Tag Image Id Size ---------------------------------------------- $ image есть но через команду images его не видно
x`
paradox_backend | asyncpg.exceptions.DataCorruptedError: invalid page in block 0 of relation global/2676 services: nginx: image: nginx:stable-alpine user: root ports: - "80:80" - "443:443" volumes: - './nginx.conf:/etc/nginx/nginx.conf' - '/etc/letsencrypt:/etc/letsencrypt' depends_on: - paradox_backend - paradox_frontend networks: - default command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" paradox_db: image: postgres:15.8-alpine container_name: paradox_db ports: - "5432:5432" environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${DB_NAME} volumes: - postgres_data:/var/lib/postgresql/data - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh restart: on-failure networks: - default healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 у меня на серваке крутиться приложение в докере, я решил просто перезапустить контейнер через docker-compose down + docker-compose up и у меня тут вылезла ошибка с бд. Как ее можно пофикисть?
x`
paradox_backend | asyncpg.exceptions.DataCorruptedError: invalid page in block 0 of relation global/2676 services: nginx: image: nginx:stable-alpine user: root ports: - "80:80" - "443:443" volumes: - './nginx.conf:/etc/nginx/nginx.conf' - '/etc/letsencrypt:/etc/letsencrypt' depends_on: - paradox_backend - paradox_frontend networks: - default command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" paradox_db: image: postgres:15.8-alpine container_name: paradox_db ports: - "5432:5432" environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${DB_NAME} volumes: - postgres_data:/var/lib/postgresql/data - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh restart: on-failure networks: - default healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 у меня на серваке крутиться приложение в докере, я решил просто перезапустить контейнер через docker-compose down + docker-compose up и у меня тут вылезла ошибка с бд. Как ее можно пофикисть?
вообще у меня есть тут какие то ошибки в композе? Просто не хочется чтобы такие ошибки возникали вновь
x`
services: nginx: image: nginx:stable-alpine user: root ports: - "80:80" - "443:443" volumes: - './nginx.conf:/etc/nginx/nginx.conf' - '/etc/letsencrypt:/etc/letsencrypt' depends_on: - paradox_backend - paradox_frontend networks: - default command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" paradox_db: image: postgres:15.8-alpine container_name: paradox_db ports: - "5432:5432" environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${DB_NAME} volumes: - postgres_data:/var/lib/postgresql/data - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh restart: on-failure networks: - default healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 paradox_backend: build: context: ./backend dockerfile: Dockerfile.backend volumes: - ./backend:/app environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - DB_HOST=paradox_db - DB_PORT=${DB_PORT} - DB_NAME=${DB_NAME} - BILEE_SHOP_ID=${BILEE_SHOP_ID} - BILEE_PASSWORD=${BILEE_PASSWORD} - BOT_TOKEN=${BOT_TOKEN} - BOT_URL=${BOT_URL} - CONFIG_PATH=${CONFIG_PATH} - YANDEX_STORAGE_TOKEN=${YANDEX_STORAGE_TOKEN} - YANDEX_STORAGE_SECRET=${YANDEX_STORAGE_SECRET} - YANDEX_STORAGE_BUCKET_NAME=${YANDEX_STORAGE_BUCKET_NAME} restart: on-failure container_name: paradox_backend ports: - 8000:8000 depends_on: paradox_db: condition: service_healthy command: sh -c "alembic upgrade head && uvicorn src.main.main:app --host 0.0.0.0 --port 8000 --reload & python -m src.bot.app.main" networks: - default paradox_frontend: build: context: ./frontend dockerfile: Dockerfile.frontend container_name: paradox_frontend ports: - "3000:3000" volumes: - ./frontend:/app stdin_open: true tty: true depends_on: - paradox_backend environment: - API_URL=http://paradox_backend:8000 networks: - default redis: image: redis:alpine ports: - "6379:6379" volumes: postgres_data: networks: default: name: paradox_network driver: bridge вот полный файл
x`
Для перезапуска хватило бы docker restart containername
это из за этого у меня такой трабл?
Максим
это из за этого у меня такой трабл?
Давайте вместе подумаем, понравится ли БД, если ее ударят обухом по голове, а потом заставят запуститься вновь