Git Product home page Git Product logo

pyddns's People

Contributors

dsorlov avatar jacotec avatar olimpo88 avatar tajisoft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyddns's Issues

install problem (SSL certs)

ab040101@ab040101-desktop:~/pyddns/PyDDNS$ sudo docker-compose up
WARNING: The MAX_DOMAINS_USER variable is not set. Defaulting to a blank string.
pyddns_ddns_1 is up-to-date
pyddns_postgres_1 is up-to-date
pyddns_python_1 is up-to-date
Recreating pyddns_nginx_1 ...
Recreating pyddns_nginx_1 ... done
Attaching to pyddns_ddns_1, pyddns_postgres_1, pyddns_python_1, pyddns_nginx_1
nginx_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx_1 | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
nginx_1 | /docker-entrypoint.sh: Configuration complete; ready for start up
nginx_1 | 2021/07/05 15:14:42 [emerg] 1#1: cannot load certificate "/etc/nginx/certs/https.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/https.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx_1 | nginx: [emerg] cannot load certificate "/etc/nginx/certs/https.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/https.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
postgres_1 | The files belonging to this database system will be owned by user "postgres".
python_1 | wait-for-it.sh: waiting 15 seconds for postgres:5432
postgres_1 | This user must also own the server process.
python_1 | wait-for-it.sh: postgres:5432 is available after 8 seconds
postgres_1 |
postgres_1 | The database cluster will be initialized with locale "en_US.utf8".
postgres_1 | The default database encoding has accordingly been set to "UTF8".
python_1 | System check identified some issues:
python_1 |
python_1 | WARNINGS:
python_1 | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
python_1 | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
postgres_1 | The default text search configuration will be set to "english".
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
postgres_1 |
python_1 | Migrations for 'common':
python_1 | common/migrations/0001_initial.py
postgres_1 | Data page checksums are disabled.
python_1 | - Create model Activity_log
postgres_1 |
python_1 | Migrations for 'pyddns':
postgres_1 | fixing permissions on existing directory /var/lib/postgresql/data ... ok
python_1 | pyddns/migrations/0001_initial.py
postgres_1 | creating subdirectories ... ok
python_1 | - Create model SubDomain
python_1 | - Create model Profile
python_1 | /script/runserver.sh: line 10: 34 Segmentation fault (core dumped) python manage.py makemigrations
python_1 | Operations to perform:
postgres_1 | selecting default max_connections ... 100
python_1 | Apply all migrations: admin, auth, common, contenttypes, pyddns, sessions
postgres_1 | selecting default shared_buffers ... 128MB
python_1 | Running migrations:
postgres_1 | selecting default timezone ... Etc/UTC
postgres_1 | selecting dynamic shared memory implementation ... posix
postgres_1 | creating configuration files ... ok
python_1 | Applying contenttypes.0001_initial... OK
postgres_1 | running bootstrap script ... ok
python_1 | Applying auth.0001_initial... OK
postgres_1 | performing post-bootstrap initialization ... ok
python_1 | Applying admin.0001_initial... OK
postgres_1 | syncing data to disk ... ok
python_1 | Applying admin.0002_logentry_remove_auto_add... OK
postgres_1 |
python_1 | Applying admin.0003_logentry_add_action_flag_choices... OK
python_1 | Applying contenttypes.0002_remove_content_type_name... OK
python_1 | Applying auth.0002_alter_permission_name_max_length... OK
python_1 | Applying auth.0003_alter_user_email_max_length... OK
python_1 | Applying auth.0004_alter_user_username_opts... OK
postgres_1 | Success. You can now start the database server using:
postgres_1 |
python_1 | Applying auth.0005_alter_user_last_login_null... OK
postgres_1 | pg_ctl -D /var/lib/postgresql/data -l logfile start
python_1 | Applying auth.0006_require_contenttypes_0002... OK
postgres_1 |
python_1 | Applying auth.0007_alter_validators_add_error_messages... OK
postgres_1 |
python_1 | Applying auth.0008_alter_user_username_max_length... OK
postgres_1 | WARNING: enabling "trust" authentication for local connections
python_1 | Applying auth.0009_alter_user_last_name_max_length... OK
postgres_1 | You can change this by editing pg_hba.conf or using the option -A, or
python_1 | Applying auth.0010_alter_group_name_max_length... OK
postgres_1 | --auth-local and --auth-host, the next time you run initdb.
python_1 | Applying auth.0011_update_proxy_permissions... OK
postgres_1 | waiting for server to start....LOG: database system was shut down at 2021-07-05 15:07:25 UTC
python_1 | Applying auth.0012_alter_user_first_name_max_length... OK
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
python_1 | Applying common.0001_initial... OK
postgres_1 | LOG: autovacuum launcher started
python_1 | Applying pyddns.0001_initial... OK
postgres_1 | LOG: database system is ready to accept connections
python_1 | System check identified some issues:
postgres_1 | done
python_1 |
postgres_1 | server started
python_1 | WARNINGS:
postgres_1 | CREATE DATABASE
postgres_1 |
python_1 | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
postgres_1 |
python_1 | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
postgres_1 | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
postgres_1 |
python_1 | Applying sessions.0001_initial... OK
postgres_1 | LOG: received fast shutdown request
python_1 | /script/runserver.sh: line 11: 35 Segmentation fault (core dumped) python manage.py migrate --noinput
postgres_1 | LOG: aborting any active transactions
python_1 | /script/runserver.sh: line 15: 36 Done echo "from django.contrib.auth.models import User; User.objects.filter(username='$DJANGO_SU_NAME').exists() or User.objects.create_superuser('$DJANGO_SU_NAME', '$DJANGO_SU_EMAIL', '$DJANGO_SU_PASSWORD')"
postgres_1 | waiting for server to shut down....LOG: autovacuum launcher shutting down
python_1 | 37 Segmentation fault (core dumped) | python manage.py shell
postgres_1 | LOG: shutting down
python_1 | Watching for file changes with StatReloader
postgres_1 | LOG: database system is shut down
python_1 | System check identified some issues:
postgres_1 | done
python_1 |
postgres_1 | server stopped
postgres_1 |
python_1 | WARNINGS:
python_1 | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
python_1 | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
python_1 |
python_1 | System check identified 2 issues (0 silenced).
postgres_1 | PostgreSQL init process complete; ready for start up.
postgres_1 |
postgres_1 | LOG: database system was shut down at 2021-07-05 15:07:29 UTC
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
postgres_1 | LOG: autovacuum launcher started
postgres_1 | LOG: database system is ready to accept connections
postgres_1 | LOG: incomplete startup packet
pyddns_nginx_1 exited with code 1
pyddns_ddns_1 exited with code 1
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
pyddns_ddns_1 exited with code 1
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
pyddns_ddns_1 exited with code 1
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
pyddns_ddns_1 exited with code 1
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error

i use an arm computer(NVIDIA Jetson Nano), after i follow your step, the server can't work, can somebody give me some idea?

Update URL gives error "The APP not sinc bind"

I want to use the DDNS update natively on some routers (running a PC client everywhere is not comfortable). In nearly all cases you need to provide an update URL.

Following the docker DDNS doc, I've configured a test with the update URL:

https://ddns.mydomain.de/nic/update?hostname=subdomain.ddns.mydomain.de

The client in the router is happy with this, but the PyDDNS lists the error "The APP not sinc bind" (whatever this means).

2021-05-29_13-08-22

Is there an issue with the update URL, or what's causing the problem?

Change default language

The only language work is Spanish but my browser and the computer default language are English.
How can I change it to English?

skipped: IP address was already set

When i was playing with the admin interface clicked update to IP address (My current Ip address as per browser).
So the IP changed to my IP address but the ddclient not updating the IP address back to the server IP.

skipped: IP address was already set to .... (old IP address before I clicked update to my IP)

I understand I have to update ddclient config to force an update by ignoring the catch file or something.

If you have any idea a quick fix about that.

Thanks

transactions per second in database increasing rapidly

Currently, we have 1000 devices online and are running into a strange problem using pyddns.
The number of transactions per second in the database will rise rapidly, from 0 to 10,000 in five minutes.
After that, we will be unable to log in to pyddns web, and using the update IP API will respond with FATAL: sorry, too many clients already,
It seems that there is a problem with Python's API access to the postgresQL database.
what do I do? Any suggestions are welcome
1
2
螢幕擷取畫面 2023-12-18 195334

ERROR: for pyddns_nginx_1 a bytes-like object is required, not 'str'

i get this error pls hAlp

root@ddns:~/PyDDNS# lsof -i -P -n | grep LISTEN
sshd        191            root    3u  IPv4  7340118      0t0  TCP *:22 (LISTEN)
sshd        191            root    4u  IPv6  7340120      0t0  TCP *:22 (LISTEN)
master      295            root   13u  IPv4  7339374      0t0  TCP 127.0.0.1:25 (LISTEN)
master      295            root   14u  IPv6  7339375      0t0  TCP [::1]:25 (LISTEN)
root@ddns:~/PyDDNS# docker-compose up
WARNING: The MAX_DOMAINS_USER variable is not set. Defaulting to a blank string.
Starting pyddns_ddns_1     ... done
Starting pyddns_postgres_1 ... done
Starting pyddns_python_1   ... done
Starting pyddns_nginx_1    ...

ERROR: for pyddns_nginx_1  a bytes-like object is required, not 'str'

ERROR: for nginx  a bytes-like object is required, not 'str'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 261, in _raise_for_status
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.22/containers/1afa5a3f10e16e32420b3eeb11a90dd45cc5a7fac17c2e1a368043103a1661b5/start

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/compose/service.py", line 625, in start_container
    container.start()
  File "/usr/lib/python3/dist-packages/compose/container.py", line 241, in start
    return self.client.start(self.id, **options)
  File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/docker/api/container.py", line 1095, in start
    self._raise_for_status(res)
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 263, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/lib/python3/dist-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("b'driver failed programming external connectivity on endpoint pyddns_nginx_1 (d02d3935119793e224e41dba9fe9243cada1c31b2ef2d5cabc982f27c32be1ce): Bind for 0.0.0.0:80 failed: port is already allocated'")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.25.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 72, in main
    command()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 128, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1107, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1088, in up
    return self.project.up(
  File "/usr/lib/python3/dist-packages/compose/project.py", line 565, in up
    results, errors = parallel.parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/project.py", line 548, in do
    return service.execute_convergence_plan(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 567, in execute_convergence_plan
    return self._execute_convergence_start(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 506, in _execute_convergence_start
    _, errors = parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 508, in <lambda>
    lambda c: self.start_container_if_stopped(c, attach_logs=not detached, quiet=True),
  File "/usr/lib/python3/dist-packages/compose/service.py", line 620, in start_container_if_stopped
    return self.start_container(container)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 627, in start_container
    if "driver failed programming external connectivity" in ex.explanation:
TypeError: a bytes-like object is required, not 'str'

Security: Open DNS Resolver

I was playing with PyDDNS a bit.
The IP address of the PyDDNS server or the domain pointed on work as Open DNS Resolver!

DDNS needs port 53 to work right?

How can i safeguard the PyDDNS server from being an Open DNS Resolver?

Problen config?

is that correct ?
please verify.

1

Hello @olimpo88 and @dipenpatel235

I'm in the same situation and have tried this same setup without success.

In addition to the same difficulty setting up Route 53, in my case it seems that I have a problem with PyDDNS, as it never receives an answer on dig tests. See below the result:

 [centos@ip-172-31-38-166 ~]$ dig avmagrini.ddns.mydomain.com.br @ddns.mydomain.com.br

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> avmagrini.ddns.mydomain.com.br @ddns.mydomain.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 5393
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;avmagrini.ddns.mydomain.com.br.   IN      A

;; AUTHORITY SECTION:
ddns.mydomain.com.br.      86400   IN      SOA     localhost. root.localhost. 74 3600 900 604800 86400

;; Query time: 0 msec
;; SERVER: 18.228.211.80#53(18.228.211.80)
;; WHEN: Thu Nov 28 04:06:16 UTC 2019
;; MSG SIZE  rcvd: 106

The result is the same with the command "dig avmagrini.ddns.mydomain.com.br @localhost".
Bellow, my "docker-compose.yml" file:

version: '2'
services:
  ddns:
    image: davd/docker-ddns:1.2.1
    restart: always
    environment:
      RECORD_TTL: 60
      ZONE: ddns.mydomain.com.br
      SHARED_SECRET: el@sadsadyS58
    ports:
      - "53:53"
      - "53:53/udp"
    volumes:
       - ./data/bind-data:/var/cache/bind
    networks:
      red:
  python:
    image: olimpo88/pyddns:latest
    restart: always
    volumes:
      - ./appdata/pyddns:/usr/src/app
      - ./appdata/static/node_modules:/usr/src/app/static/node_modules
    environment:
      DNS_HOST: ddns
      DNS_API_PORT: 8080
      DNS_DOMAIN: ddns.mydomain.com.br
      DNS_SHARED_SECRET: el@sadsadyS58
      DNS_ALLOW_AGENT: ddclient3,ddclient
      DB_HOST: postgres
      DB_NAME: pyddns
      DB_USER: pyddns
      DB_PASSWORD: PyDyn@m1cDNSP0s
      DJANGO_ADMIN_URL: administrator
      DJANGO_SU_NAME: admin
      DJANGO_SU_EMAIL: [email protected]
      DJANGO_SU_PASSWORD: 1234
      OWN_ADMIN: 1
    depends_on:
      - "postgres"
    networks:
      red:

  postgres:
    image: postgres:9.6
    restart: always
    environment:
      POSTGRES_PASSWORD: PyDyn@m1cDNSP0s
      POSTGRES_USER: pyddns
      POSTGRES_DB: pyddns
    volumes:
     - ./data/dbdata:/var/lib/postgresql/data
    networks:
      red:

  nginx:
    image: nginx:latest
    ports:
      - "80:8000"
    volumes:
      - ./config/nginx_src:/src
      - ./config/nginx:/etc/nginx/conf.d
      - ./appdata/static:/static
    depends_on:
      - "python"
    networks:
      red:
networks:
  red:

I could not find any configuration errors and port 53 should be open for UDP and TCP protocols, but netstat shows port 53 listening only for UDP6 and TPC6 protocols (although I can connect to the server on port 53 with Telnet). Could you please help me?

image

Thanks!

Originally posted by @avmagrini in #1 (comment)

Doc for static/glue records unclear, zone file does not exist

I need to add a static record to the DNS server and following the doc I need to add the entry in data/bind-data/ddns.mydomain.de.zone in the ddns container.

There is no such file!

The only zone file in the whole container is: /var/cache/bind/ddns.mydomain.de.zone

Editing this file works, but I doubt it will survive reboots. Can you please clarify the doc about adding static records?

Support bind zone transfer / notify - hidden master

Thanks for the tool. It basically works fine. But we don't want to run a public DNS server for various reasons. It's quiet easy to run it as "hidden master" though if ones domain provider supports this. But this needs to be supported by your implementation.

Usually one only has map the named.conf.local file in the docker-compose.yml but this doesn't seem to work as the application throws always an error:

dnserr - The APP not sinc bind

Docker container seems to run fine and name resolution also seems to work. But for some reason your app refused to push updated to the zone.

    volumes:
       - ./data/bind-data:/var/cache/bind
       - ./data/named.conf.local:/etc/bind/named.conf.local
root@ddns01:/opt/PyDDNS/data# cat named.conf.local 
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "ddns.domain.com" IN {
    type master;
    file "/var/cache/bind/ddns.domain.com.zone";
    journal "/var/cache/bind/ddns.domain.com.zone.jnl";
    update-policy local;
    notify yes;
    also-notify { 1.2.3.4; };
    allow-transfer { 1.2.3.4; };
};

What am I missing?

Update:

        type master;
        file "ddns.domain.com.zone";
        journal "ddns.domain.com.zone.jnl";
        notify yes;
        allow-query { any; };
        also-notify { 1.2.3.4;; };
        allow-transfer { 1.2.3.4;; };
        allow-update { localhost; };

The following seems to work. But for this to work fine I've had to reconfigure all container to network_mode: host.

I also have had to change the hardcoded hostname ddns in

resolver.nameservers=[socket.gethostbyname('ddns')]
to 'localhost'.

Using port 8000 for the nginx container and also for the pythin container was quiet confusing as well.

Maybe we can figure out a way that doesn't require to expose all ports to the host itself while supporting hidden master setups.

Would it be enough to set allow-query { any; }; to allow-query { localhost; }; ? Does pyddns need to query strings?

Support IPv6 via webui

Currently it doesn't seem possible to set the IPv6 via the webui. Shouldn't the core check for proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; and then display whatever is present there?

The DDNS server also has an IPv6 and I set a sub-sub domain that only has the IPv6 IP. Connections works fine but the webui refused to show the clients IPv6. I tested some other headers in the nginx proxy. Still only the IPv4.
This shouldn't even be possible since the client then only connects with IPv6. Is there some sort of caching for this? This should be disabled.

How can we solve this?

nsupdate.info

From sources I see that the PyDNS just calls by DynDNS2 protocol the davd/docker-ddns
https://github.com/olimpo88/PyDDNS/blob/master/appdata/pyddns/pyddns/views.py#L381=

But internally it just executes a command nsupdate for the BIND (or any other DNS server that supports RFC 2136
https://github.com/dprandzioch/docker-ddns/blob/5c39bf8a810bf12ed81b16502ecc5821e48a859f/rest-api/main.go#L118=
Here it just executes nsupdate command from bind-client package (or kresd)

Technically speaking this can be easily added to the PyDDNS so users may avoid the unneeded step.

Another question: there is already exists a very similar UI and server for DDNS which is also written in Django https://github.com/nsupdate-info/nsupdate.info
It already supports the nsupdate execution.
Is it possible to merge this two projects? Or please tell me which is better to use.

PyDDNS with SSL

I am trying to configure Let's Encrypt SSL.
I have very limited knowledge on docker so I am stuck.

Checking from the internet and other but not sure how to do it.

Error after run docker-compose up, "pyddns_nginx_1 exited with code 1"

Error in detail:
nginx_1 | 2020/12/03 04:50:50 [emerg] 1#1: cannot load certificate "/etc/nginx/certs/https.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/https.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
I cant start web of PyDDNS, I dont know how to resolve it, could you support please

Allow to override IP via webui

It would be nice if it was possible to override an IP via the webui and possible lock it for an amount of time. (minutes/hours/days).

The webui basically only needs to allow editing the IP field and maybe add an extra field that allows to lock the IP for a certain amount of time.

Thanks!

Self service sign up for users?

I dont know what the plans are moving forward but to be able to easily create new users via self-service would be a terrific next step. Could for instance create accounts that are limited to a specific number of subdomains or something like that. Depending on your plans I would absolutely be interested in contributing this.

Windows DDNS client

The windows client dydns field value change back to members.dyndns.org after clicking save. Is there any other app?

Configure of SOA record on DDNS server

in install instruction you have forget to menition that there shoud be a ip in SOA record

$ORIGIN .
$TTL 86400 ; 1 day
ddns.foo.com IN SOA localhost. root.localhost. (
81 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS localhost.
A x.x.x.x
$ORIGIN ddns.foo.com.
$TTL 60 ; 1 minute

Errors when running

Hi,
Been trying to set this up and keep getting the following errors when it runs.

python_1 | WARNINGS:
python_1 | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
python_1 | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
python_1 | HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
ddns_1 | standard_init_linux.go:228: exec user process caused: exec format error
pyddns_ddns_1 exited with code 1

Any ideas? Im sure its something simple that I have/havent done!

Thanks

Final run generating some errors.

Hello and first I would like to say thank you for spending so much on something that makes you nothing just to help benefit a community of enthusiasts and diy'ers.

[+] Running 4/0
 ⠿ Container pyddns-postgres-1  Created                                                                                                                                                            0.0s
 ⠿ Container pyddns-python-1    Created                                                                                                                                                            0.0s
 ⠿ Container pyddns-nginx-1     Created                                                                                                                                                            0.0s
 ⠿ Container pyddns-ddns-1      Created                                                                                                                                                            0.0s
Attaching to pyddns-ddns-1, pyddns-nginx-1, pyddns-postgres-1, pyddns-python-1
pyddns-postgres-1  |
pyddns-postgres-1  | PostgreSQL Database directory appears to contain a database; Skipping initialization
pyddns-postgres-1  |
pyddns-postgres-1  | LOG:  database system was shut down at 2021-12-21 17:24:49 UTC
pyddns-postgres-1  | LOG:  MultiXact member wraparound protections are now enabled
pyddns-postgres-1  | LOG:  database system is ready to accept connections
pyddns-postgres-1  | LOG:  autovacuum launcher started
pyddns-ddns-1      | Starting domain name service...: bind9.
pyddns-ddns-1      | 2021/12/21 17:30:07 Serving dyndns REST services on 0.0.0.0:8080...
pyddns-python-1    | wait-for-it.sh: waiting 15 seconds for postgres:5432
pyddns-postgres-1  | LOG:  incomplete startup packet
pyddns-python-1    | wait-for-it.sh: postgres:5432 is available after 0 seconds
pyddns-python-1    | No changes detected
pyddns-python-1    | System check identified some issues:
pyddns-python-1    |
pyddns-python-1    | WARNINGS:
pyddns-python-1    | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-python-1    | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-python-1    | Operations to perform:
pyddns-python-1    |   Apply all migrations: admin, auth, common, contenttypes, pyddns, sessions
pyddns-python-1    | Running migrations:
pyddns-python-1    |   No migrations to apply.
pyddns-python-1    | System check identified some issues:
pyddns-python-1    |
pyddns-python-1    | WARNINGS:
pyddns-python-1    | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-python-1    | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-nginx-1     | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
pyddns-nginx-1     | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
pyddns-nginx-1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
pyddns-nginx-1     | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist
pyddns-nginx-1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
pyddns-nginx-1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
pyddns-nginx-1     | /docker-entrypoint.sh: Configuration complete; ready for start up
pyddns-nginx-1     | 2021/12/21 17:30:08 [emerg] 1#1: cannot load certificate "/etc/nginx/certs/https.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/https.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
pyddns-nginx-1     | nginx: [emerg] cannot load certificate "/etc/nginx/certs/https.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/certs/https.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
pyddns-nginx-1 exited with code 1
pyddns-python-1    | Watching for file changes with StatReloader
pyddns-python-1    | System check identified some issues:
pyddns-python-1    |
pyddns-python-1    | WARNINGS:
pyddns-python-1    | pyddns.Profile: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-python-1    | pyddns.SubDomain: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
pyddns-python-1    |    HINT: Configure the DEFAULT_AUTO_FIELD setting or the AppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
pyddns-python-1    |
pyddns-python-1    | System check identified 2 issues (0 silenced).

ddclient update problem

Hi

on server i receive this message

x.x.x.x - user [10/Mar/2021:11:32:40 +0000] "GET /nic/update?system=dyndns&hostname=foo.ddns.foo.com&myip=x.x.x.x HTTP/1.0" 301 169 "-" "ddclient/3.9.1"
but there is no update on server .

I have made change in config , you shoud change also in instructions ...

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='Current IP Address:'
server=ddns.foo.com
ssl=no
login=user
password='password'
foo.ddns.foo.com

Best regards

Adding Forward Zone

Thanks for making the PyDDNS server available.

Just wondering if there is any way that I can use this server to resolve domains other than the ones locally by the server? Is there any way that I can set up forward zones to forward queries to a public DNS server?

Install error

Hello,

I am trying to test the project. I have tried installing on ubuntu, debian and centos but I can't get it to work.

Step 1/12 : FROM python:3.7
3.7: Pulling from library/python
bb7d5a84853b: Pull complete
f02b617c6a8c: Pull complete
d32e17419b7e: Pull complete
c9d2d81226a4: Pull complete
3c24ae8b6604: Pull complete
8a4322d1621d: Pull complete
637b803a116b: Pull complete
3d1bee7e0864: Pull complete
1a84a9eb2ed2: Pull complete
Digest: sha256:c185410ab69dcdfb5e5edabf0d78bc5655a210a4e263001b4bc4bc1d9e6f6309
Status: Downloaded newer image for python:3.7
---> 0b3f272343d3
Step 2/12 : RUN apt-get update && apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev libkf5ldap-dev xfonts-base xfonts-75dpi -y --force-yes
---> Running in e78f09cd0a1c
ERROR: Service 'python' failed to build: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "proc" to rootfs at "/proc" caused: mount through procfd: permission denied: unknown

I appreciate hel

Can't access Docker from other host than localhost.

I can't access my docker container from any Device in my local Network or over the Internet. Although I am able to access it from localhost over the configured port (8080, 443). The Ports are set to listen according to the lsof command.
I had to change the ports for HTTP from 80 to 8080 and for DNS from 53 to 53535, because I am already running a Pi-Hole DNS-Server on my PC. I am able to access the Pi-Hole Dashboard over port 80. Could this cause any interference?
I am pretty new to Docker and the automatic firewall-rules it applies, do I have to configure anything else in here?

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (2 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.3           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.4           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.4           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.5           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.3           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.3           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.3           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.2           tcp dpt:domain
ACCEPT     udp  --  anywhere             172.18.0.2           udp dpt:domain
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8000
ACCEPT     tcp  --  anywhere             172.18.0.5           tcp dpt:8443

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere

OS: Raspberry Pi OS 1.4
If you need any further information, do not hesitate to ask for it.

Login form not working, gives error on console

I've deployed PyDDNS as per description, but unfortunately I can't login. After entering username and password of my admin user, the "Login" button is not functional.

I'm getting this error on the console:

nginx_1     | xx.xxx.xxx.xxx - - [28/May/2021:20:51:30 +0000] "POST /common/dologin/ HTTP/1.1" 302 5 "http://ddns.domain.de/en/common/login/?next=/en/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37" "-"
python_1    | Internal Server Error: /en/common/dologin/
python_1    | Traceback (most recent call last):
python_1    |   File "/usr/local/lib/python3.7/site-packages/django/utils/datastructures.py", line 76, in __getitem__
python_1    |     list_ = super().__getitem__(key)
python_1    | KeyError: 'username'
python_1    | 
python_1    | During handling of the above exception, another exception occurred:
python_1    | 
python_1    | Traceback (most recent call last):
python_1    |   File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 47, in inner
python_1    |     response = get_response(request)
python_1    |   File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 181, in _get_response
python_1    |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
python_1    |   File "/usr/src/app/common/views.py", line 27, in dologin
python_1    |     username=request.POST['username']
python_1    |   File "/usr/local/lib/python3.7/site-packages/django/utils/datastructures.py", line 78, in __getitem__
python_1    |     raise MultiValueDictKeyError(key)
python_1    | django.utils.datastructures.MultiValueDictKeyError: 'username'
python_1    | [28/May/2021 20:51:30] "GET /en/common/dologin/ HTTP/1.0" 500 64244

Error at start up in django container

Log tails

postgres_1 | CREATE DATABASE
postgres_1 |
postgres_1 |
postgres_1 | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
postgres_1 |
postgres_1 | waiting for server to shut down....LOG: received fast shutdown request
postgres_1 | LOG: aborting any active transactions
postgres_1 | LOG: autovacuum launcher shutting down
postgres_1 | LOG: shutting down
postgres_1 | LOG: database system is shut down
postgres_1 | done
postgres_1 | server stopped
postgres_1 |
postgres_1 | PostgreSQL init process complete; ready for start up.
postgres_1 |
postgres_1 | LOG: database system was shut down at 2020-08-08 23:31:17 UTC
postgres_1 | LOG: MultiXact member wraparound protections are now enabled
postgres_1 | LOG: database system is ready to accept connections
postgres_1 | LOG: autovacuum launcher started
postgres_1 | LOG: incomplete startup packet
python_1 | wait-for-it.sh: postgres:5432 is available after 8 seconds
python_1 | Traceback (most recent call last):
python_1 | File "manage.py", line 10, in
python_1 | execute_from_command_line(sys.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 401, in execute_from_command_line
python_1 | utility.execute()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 395, in execute
python_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
python_1 | self.execute(*args, **cmd_options)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 368, in execute
python_1 | self.check()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 396, in check
python_1 | databases=databases,
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/registry.py", line 70, in run_checks
python_1 | new_errors = check(app_configs=app_configs, databases=databases)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 13, in check_url_config
python_1 | return check_resolver(resolver)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 23, in check_resolver
python_1 | return check_method()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 408, in check
python_1 | for pattern in self.url_patterns:
python_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 48, in get
python_1 | res = instance.dict[self.name] = self.func(instance)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 589, in url_patterns
python_1 | patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 48, in get
python_1 | res = instance.dict[self.name] = self.func(instance)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 582, in urlconf_module
python_1 | return import_module(self.urlconf_name)
python_1 | File "/usr/local/lib/python3.7/importlib/init.py", line 127, in import_module
python_1 | return _bootstrap._gcd_import(name[level:], package, level)
python_1 | File "", line 1006, in _gcd_import
python_1 | File "", line 983, in _find_and_load
python_1 | File "", line 967, in _find_and_load_unlocked
python_1 | File "", line 677, in _load_unlocked
python_1 | File "", line 728, in exec_module
python_1 | File "", line 219, in _call_with_frames_removed
python_1 | File "/usr/src/app/pyddns/urls.py", line 19, in
python_1 | from common.views import *
python_1 | File "/usr/src/app/common/views.py", line 12, in
python_1 | from common.utils import getForwardedFor
python_1 | File "/usr/src/app/common/utils.py", line 5, in
python_1 | from django.forms.forms import BoundField
python_1 | ImportError: cannot import name 'BoundField' from 'django.forms.forms' (/usr/local/lib/python3.7/site-packages/django/forms/forms.py)
python_1 | Traceback (most recent call last):
python_1 | File "manage.py", line 10, in
python_1 | execute_from_command_line(sys.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 401, in execute_from_command_line
python_1 | utility.execute()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 395, in execute
python_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
python_1 | self.execute(*args, **cmd_options)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
python_1 | output = self.handle(*args, **options)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 85, in wrapped
python_1 | res = handle_func(*args, **kwargs)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 75, in handle
python_1 | self.check(databases=[database])
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 396, in check
python_1 | databases=databases,
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/registry.py", line 70, in run_checks
python_1 | new_errors = check(app_configs=app_configs, databases=databases)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 13, in check_url_config
python_1 | return check_resolver(resolver)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 23, in check_resolver
python_1 | return check_method()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 408, in check
python_1 | for pattern in self.url_patterns:
python_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 48, in get
python_1 | res = instance.dict[self.name] = self.func(instance)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 589, in url_patterns
python_1 | patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 48, in get
python_1 | res = instance.dict[self.name] = self.func(instance)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 582, in urlconf_module
python_1 | return import_module(self.urlconf_name)
python_1 | File "/usr/local/lib/python3.7/importlib/init.py", line 127, in import_module
python_1 | return _bootstrap._gcd_import(name[level:], package, level)
python_1 | File "", line 1006, in _gcd_import
python_1 | File "", line 983, in _find_and_load
python_1 | File "", line 967, in _find_and_load_unlocked
python_1 | File "", line 677, in _load_unlocked
python_1 | File "", line 728, in exec_module
python_1 | File "", line 219, in _call_with_frames_removed
python_1 | File "/usr/src/app/pyddns/urls.py", line 19, in
python_1 | from common.views import *
python_1 | File "/usr/src/app/common/views.py", line 12, in
python_1 | from common.utils import getForwardedFor
python_1 | File "/usr/src/app/common/utils.py", line 5, in
python_1 | from django.forms.forms import BoundField
python_1 | ImportError: cannot import name 'BoundField' from 'django.forms.forms' (/usr/local/lib/python3.7/site-packages/django/forms/forms.py)
postgres_1 | ERROR: relation "auth_user" does not exist at character 24
postgres_1 | STATEMENT: SELECT (1) AS "a" FROM "auth_user" WHERE "auth_user"."username" = 'admin' LIMIT 1
python_1 | Traceback (most recent call last):
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
python_1 | return self.cursor.execute(sql, params)
python_1 | psycopg2.errors.UndefinedTable: relation "auth_user" does not exist
python_1 | LINE 1: SELECT (1) AS "a" FROM "auth_user" WHERE "auth_user"."userna...
python_1 | ^
python_1 |
python_1 |
python_1 | The above exception was the direct cause of the following exception:
python_1 |
python_1 | Traceback (most recent call last):
python_1 | File "manage.py", line 10, in
python_1 | execute_from_command_line(sys.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 401, in execute_from_command_line
python_1 | utility.execute()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 395, in execute
python_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
python_1 | self.execute(*args, **cmd_options)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
python_1 | output = self.handle(*args, **options)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/shell.py", line 92, in handle
python_1 | exec(sys.stdin.read())
python_1 | File "", line 1, in
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py", line 809, in exists
python_1 | return self.query.has_results(using=self.db)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/sql/query.py", line 535, in has_results
python_1 | return compiler.has_results()
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1124, in has_results
python_1 | return bool(self.execute_sql(SINGLE))
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1154, in execute_sql
python_1 | cursor.execute(sql, params)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 98, in execute
python_1 | return super().execute(sql, params)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 66, in execute
python_1 | return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
python_1 | return executor(sql, params, many, context)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
python_1 | return self.cursor.execute(sql, params)
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/utils.py", line 90, in exit
python_1 | raise dj_exc_value.with_traceback(traceback) from exc_value
python_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
python_1 | return self.cursor.execute(sql, params)
python_1 | django.db.utils.ProgrammingError: relation "auth_user" does not exist
python_1 | LINE 1: SELECT (1) AS "a" FROM "auth_user" WHERE "auth_user"."userna...
python_1 | ^
python_1 |
python_1 | Watching for file changes with StatReloader

Problems updating DDNS

I have a problem when updating DDNS records, I see that the trafic is comming in to the PyDDNS server but it does not update the ip adress of the DDNS.

NSLOOKUP shows localhost. but cannot resolve DDNS record.

Feature request: Certbot

Is it possible to add Let's Encrypt to allow automatic cert creations for *.ddns.example.com ? can you point me to right direction?

Add NS record in cloudflare

How can I create an NS record to an IP address?

cloudflare.com says:
DNS Validation Error (Code: 1004) Content for NS record is invalid

Namecheap as an error when I put IP on the field.

NS filed are allow only domain or subdomain name right?

Could not resolve hostname : Name or service not known

hello @olimpo88
here i have attached screenshot of my domain (growth.recipes) on aws route 53.

1

now i am doing ssh on that server growth.recipes and setup ddns server as per steps given by you.
after done that i am open url "http://growth.recipes/" and login as admin user.

then i am adding subdomain name "mymachine"

Client side:

# /etc/ddclient.conf

protocol=dyndns2
use=if, if=wlp0s20f3
server=growth.recipes
login=admin
password='el@sadsadyS58'
mymachine.growth.recipes

then i have did router in port forwarding 80.

3

then i have setup in my local machine 192.168.1.126 nginx on port 80 and i am trying to open below url from browser http://mymachine.growth.recipes

let me know if anything is wrong.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.