• 6 Posts
  • 30 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle




  • Instead of setting up one nginx for multiple sites you run one nginx per site and have the settings for that as part of the site repository.

    Doesn’t that require a lot of resources since you’re running (mysql, nginx, etc.) numerous times (once for each container), instead of once globally?

    Or, per your comment below:

    Since the base image is static, and config is per container, one image can be used to run multiple containers. So if you have a postgres image, you can run many containers on that image. And specify different config for each instance.

    You’d only have two instances of postgres, for example, one for all docker containers and one global/server-wide? Still, that doubles the resources used no?







  • Why are you worried about your site going down during traffic surge? Unless you’re running a critical service, there is no need to worry about this too much if it’s just your personal sites.

    Because it’s an important business website that would have severe consequences if it went down during traffic spikes (which it does get).

    With proper caching, your personal site can even tank traffics from reddit frontpage on a $5/mo vps.

    Yeah, I’m using Cloudflare, and I saw that Wordpress has a built-in caching option, but I couldn’t find any info on how well that protects sites from traffic surges.

    consider hosting it on platforms with autoscaling support such as netlify.

    Yeah but I need an SSG with the same capabilities as Squarespace to do that, and as mentioned in the OP, that doesn’t seem to exist.



  • Since you posted this into a self-hosting community…

    I have two other websites hosted on a $5 Hetzner server (that counts as self-hosted right?). I’ve been considering adding a Wordpress, Grav, or static site to it. But as mentioned in the OP, I have to worry about the site going down if it gets a traffic surge, so I’m thinking it would be safer and similarly/more affordable to host a Wordpress site with Hostinger or GreenGeeks. Am I wrong?

    Grab a Raspberry Pi, slap nginx proxy manager and ddclient into it, and point your domain to your home IP.

    I’m not likely to do that, for multiple reasons.








  • Thanks! I was using 127.0.0.1 because that’s what other people were successfully using: https://github.com/knadh/listmonk/issues/1590#issuecomment-1812399067. I had tried variations of proxy_pass http://app:5870; because I’m running listmonk successfully on another server using proxy_pass http://app:9000;, but that is when nginx is running from inside the docker container:

    services:
      db:
        <<: *db-defaults
        container_name: listmonk_db
        volumes:
          - type: volume
            source: listmonk-data
            target: /var/lib/postgresql/data
    
      app:
        <<: *app-defaults
        container_name: listmonk_app
        depends_on:
          - db
        volumes:
          - ./config.toml:/listmonk/config.toml
          - ./listmonk/uploads:/listmonk/uploads
    
      nginx:
        image: nginx:mainline-alpine
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - ./data/nginx:/etc/nginx/conf.d
          - ./data/certbot/conf:/etc/letsencrypt
          - ./data/certbot/www:/var/www/certbot
        networks:
          - listmonk
        depends_on:
          - app
        command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
    
      certbot:
        image: certbot/certbot
        restart: unless-stopped
        container_name: certbot
        volumes:
          - ./data/certbot/conf:/etc/letsencrypt
          - ./data/certbot/www:/var/www/certbot
        networks:
          - listmonk
        depends_on:
          - nginx
        entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
    

    I forgot to try proxy_pass http://listmonk_app:5870; though. I just tried that and I got the same error that I get with proxy_pass http://app:5870;.

    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    systemctl status nginx.service
     nginx.service - Centmin Mod NGINX Server
       Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/nginx.service.d
               └─failure-restart.conf, openfileslimit.conf
       Active: failed (Result: start-limit) since Sun 2023-11-26 01:07:52 UTC; 1min 57s ago
      Process: 34289 ExecStop=/bin/sh -c /bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid) (code=exited, status=0/SUCCESS)
      Process: 18426 ExecReload=/bin/sh -c /bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid) (code=exited, status=0/SUCCESS)
      Process: 25700 ExecStart=/usr/local/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)
      Process: 34339 ExecStartPre=/usr/local/sbin/nginx -t (code=exited, status=1/FAILURE)
     Main PID: 25702 (code=exited, status=0/SUCCESS)
    
    Nov 26 01:07:47 centos7test systemd[1]: nginx.service: control process exited, code=exited status=1
    Nov 26 01:07:47 centos7test systemd[1]: Failed to start Centmin Mod NGINX Server.
    Nov 26 01:07:47 centos7test systemd[1]: Unit nginx.service entered failed state.
    Nov 26 01:07:47 centos7test systemd[1]: nginx.service failed.
    Nov 26 01:07:52 centos7test systemd[1]: nginx.service holdoff time over, scheduling restart.
    Nov 26 01:07:52 centos7test systemd[1]: Stopped Centmin Mod NGINX Server.
    Nov 26 01:07:52 centos7test systemd[1]: start request repeated too quickly for nginx.service
    Nov 26 01:07:52 centos7test systemd[1]: Failed to start Centmin Mod NGINX Server.
    Nov 26 01:07:52 centos7test systemd[1]: Unit nginx.service entered failed state.
    Nov 26 01:07:52 centos7test systemd[1]: nginx.service failed.
    
    journalctl -xe
    --
    -- The result is timeout.
    Nov 26 01:08:56 centos7test systemd[1]: Dependency failed for /mnt/HC_Volume_33691542.
    -- Subject: Unit mnt-HC_Volume_33691542.mount has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit mnt-HC_Volume_33691542.mount has failed.
    --
    -- The result is dependency.
    Nov 26 01:08:56 centos7test systemd[1]: Job mnt-HC_Volume_33691542.mount/start failed with result 'dependency'.
    Nov 26 01:08:56 centos7test systemd[1]: Job dev-disk-by\x2did-scsi\x2d0HC_Volume_33691542.device/start failed with result 'timeout'.
    Nov 26 01:09:01 centos7test systemd[1]: Started Session 313 of user root.
    -- Subject: Unit session-313.scope has finished start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit session-313.scope has finished starting up.
    --
    -- The start-up result is done.
    Nov 26 01:09:01 centos7test CROND[34567]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    Nov 26 01:09:10 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=85.203.42.26 DST= LEN
    Nov 26 01:09:35 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=205.185.121.3 DST= LE
    Nov 26 01:09:45 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=107.148.82.29 DST= LE
    Nov 26 01:09:53 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=62.204.41.118 DST= LE
    Nov 26 01:10:01 centos7test systemd[1]: Started Session 314 of user root.
    -- Subject: Unit session-314.scope has finished start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit session-314.scope has finished starting up.
    --
    -- The start-up result is done.
    Nov 26 01:10:01 centos7test systemd[1]: Started Session 315 of user root.
    -- Subject: Unit session-315.scope has finished start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    --
    -- Unit session-315.scope has finished starting up.
    --
    -- The start-up result is done.
    Nov 26 01:10:01 centos7test CROND[34680]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    Nov 26 01:10:01 centos7test CROND[34679]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    Nov 26 01:10:11 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=91.92.246.145 DST= LE
    Nov 26 01:10:12 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=85.203.42.26 DST= LEN
    Nov 26 01:10:21 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=85.209.11.142 DST= LE
    Nov 26 01:10:22 centos7test sshd[34734]: Received disconnect from 180.101.88.196 port 14758:11:  [preauth]
    Nov 26 01:10:22 centos7test sshd[34734]: Disconnected from 180.101.88.196 port 14758 [preauth]
    Nov 26 01:10:40 centos7test kernel: Firewall: *TCP_IN Blocked* IN=eth0 OUT= MAC= SRC=162.216.150.164 DST=
    lines 1377-1425/1425 (END)