• 4 Posts
  • 8 Comments
Joined 1Y ago
cake
Cake day: Jun 15, 2023

help-circle
rss
Static site generator (SSG) alternative to Squarespace?
cross-posted from: https://lemmy.world/post/12989654 > I'm a novice so I chose the most novice-friendly option I could find - Squarespace. But I've had lots of problems with them, and they keep raising their prices, and they hide features like javascript code behind even higher prices. > > I learned about SSGs https://jamstack.org/generators, which create fast and secure sites that can be hosted for free on Netlify and other similar sites. The downside is they're limited to static content -- IE: you can't have a contact form without paying a 3rd party. > > I found a novice-friendly SSG theme for wikis/documentation -- [MKDocs Material](https://squidfunk.github.io/mkdocs-material/) -- but I haven't been able to find anything for a regular business site. > > This seems to be one of the most popular **Jekyll** themes https://mmistakes.github.io/minimal-mistakes/about/ but it seems to be mainly for blogs and documentation, and doesn't seem to have all the design options that Squarespace does. > > I read that healthcare.gov used **Jekyll** https://medium.com/devseed/new-healthcare-gov-is-open-cms-free-41c25249cf38 in conjunction with https://prose.io. So I looked it up and found this https://github.com/CMSgov/HealthCare.gov-Styleguide which actually seems pretty decent; but also not complete enough. Their newer version https://github.com/CMSgov/design-system seems more complete/extensive, but also quite technical. It looks like it requires too much coding for me. > > **Weebly** seems to be a slightly cheaper alternative to Squarespace but it's missing some features and Square might end it in a few years. > > I've never used **Wordpress** but now that I've hosted a few websites I'm thinking about purchasing **Oxygen** https://oxygenbuilder.com/ and hosting a Wordpress site myself. Oxygen is like a more advanced version of Squarespace with a 1-time payment equal to 1 year of Squarespace. Then you just have the monthly costs of hosting the server, which should be $5-10 *(no idea how this scales with amount of traffic, do you?)*. There is a plugin/addon to export a static site, but it might not be worth the trouble. > > According to https://servebolt.com/articles/calculate-how-many-simultaneous-website-visitors/ a 2-core server ($5) with a webpage that takes 300ms to load can serve: > > - 400/minute > - 24,000/hr > - 288,000/12 hrs > > A lot of people use Wordpress, but also seem unsatisfied with it https://jamstack.org/survey/2022/#content-management-systems. > > The **Gutenberg editor** may be new since the last time I tried Wordpress https://www.hostinger.com/tutorials/gutenberg-wordpress, and it looks pretty similar to Squarespace. So maybe I don't even need Oxygen. I looked up "Gutenberg vs Oxygen" and people were saying to go with Gutenberg. > > I've been considering **Grav** https://getgrav.org/ too, but similar to the SSGs, it doesn't seem to have all the design capabilities without coding them yourself. > > I've seen people say you can get **chat GPT** to write HTML code for you but I've never used it and it seems like it would be difficult to design a website that way. I looked for a video but only found one covering writing content, not code. > > I found out about **Hostinger Website Builder** https://www.youtube.com/watch?v=cUjjGIfjh-4 which uses AI and looks very similar to Squarespace's builder. But there's no demo so I can't see exactly what it can do. But Hostinger is much cheaper than Squarespace, and you can choose to use Wordpress with it instead of the Hostinger builder. > > I checked **GreenGeeks** and they say *"We offer drag and drop website builders like **Weebly and SitePad**"*. Sitepad is $12/yr and makes static sites, but it looks like you need one of the popular GUI web panels to use it https://sitepad.com/docs/admin/supported-control-panels/. Similar to Weebly, it's also a bit more limited -- IE: you can't open a contact form in a lightbox from a button https://sitepad.com/docs/enduser/contact-form. > > A benefit of using **Hostinger or GreenGeeks** is probably that I don't have to worry about a surge in traffic causing my site to go down. That's why I'm thinking they're a better option vs self-hosting on a VPS. > > I found this video that seems quite good and covers more options I didn't know about: > [Ultimate Website Builder Comparison 2024 | Find the BEST One for You + Why I Hated Squarespace](https://www.youtube.com/watch?v=bW2nBnJDXGs) > > > Anyone know of better places/forums to discuss this type of thing? There seems to be hundreds of thousands of people using the jamstack SSGs but I haven't found a place where people discuss them. I've tried: > > - https://www.webhostingtalk.com/showthread.php?t=1909999 > - https://community.centminmod.com/threads/cheaper-squarespace-alternative-novice-friendly-static-site-generator-for-wikis-general-sites.24382/ > - https://news.ycombinator.com/item?id=39216383 > >
fedilink


Nginx is running in a container

I don’t think it is. On my other machine it’s running in the docker container, but not this one.

Using serverIP:5870 has the same result as using listmonk.mysite.com:5870. It loads a broken page https://i.stack.imgur.com/gIy4A.jpg with broken links. IE: the URLs are http://localhost:9000/subscription/form.


Thanks, I checked out your link. I think my most recent comment below answers some of your questions. https://lemmy.world/comment/5586470

Are you able to access listmonk directly without the reverse proxy? What is the URL I. The browser when you do that?

Besides the info I put in the OP, I’m not sure what else you’re asking.

LAN IP address of the docker host

No idea what this is, so I looked it up https://www.howtogeek.com/devops/how-to-get-a-docker-containers-ip-address-from-the-host/ and ran docker ps then put the container ID at the end of this docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-container-ID. It output an IP address which I used for proxy_pass http://docker-IP:5870;, restarted nginx, and nothing seems to have changed.


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)

I tried some of the solutions here https://serverfault.com/questions/351212/nginx-redirects-to-port-8080-when-accessing-url-without-slash

proxy_set_header Host $host:$server_port; didn’t seem to change anything.

I also tried

  proxy_pass http://listmonk.example.com:5870/;
  proxy_redirect http://listmonk.example.com:5870/ http://listmonk.example.com/;

Maybe this https://stackoverflow.com/questions/30097334/nodejs-on-nginx-not-working-without-a-port-number-in-the-url is the answer, but I don’t understand it.


Listmonk email server, running via docker through nginx vhost. Resolves with port at the end but I get a 502 bad gateway error without the port.
**EDIT:** It was a firewall issue. I disabled my firewall and it works. https://listmonk.app/ The site loads properly on serverIP:5870 and if I change `proxy_pass http://127.0.0.1:5870;` to `proxy_pass http://listmonk.mydomain.com:5870;` then it will load on listmonk.mydomain.com:5870. But it gives the 502 error when I visit the site without the port. If I set `proxy_pass http://127.0.0.1:5870;` and visit listmonk.mydomain.com:5870 I get: ``` The connection for this site is not secure listmonk.mydomain.com sent an invalid response. [Try running Windows Network Diagnostics](javascript:diagnoseErrors()). ERR_SSL_PROTOCOL_ERROR ``` ### docker-compose.yml: ``` version: "3.7" x-app-defaults: &app-defaults restart: unless-stopped image: listmonk/listmonk:latest ports: - "5870:9000" networks: - listmonk environment: - TZ=Etc/UTC x-db-defaults: &db-defaults image: postgres:13 ports: - "9432:5432" networks: - listmonk environment: - POSTGRES_PASSWORD=pw - POSTGRES_USER=listmonk - POSTGRES_DB=listmonk restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U listmonk"] interval: 10s timeout: 5s retries: 6 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 - ./uploads:/listmonk/uploads networks: listmonk: volumes: listmonk-data: ``` ### nginx config: ``` server { listen 443 ssl; server_name listmonk.example.com; location / { proxy_pass http://127.0.0.1:5870; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name listmonk.example.com; location / { return 301 https://$host$request_uri; } } ````
fedilink

The main issue is that Lemmy lacks many basic features that are included in Reddit, either by default or via RES and Toolbox addons. I listed some in the OP and the OP link.

I chose Xenforo because it’s been around for a long time, is feature-rich, and the most polished/professional software.

I also wasn’t considering hosting my own Lemmy instance at the time, which I now recognize as a future possibility, if it continues to develop more basic features.


Lemmy only federates Lemmy instances as far as I know. Forums have lots of benefits that Lemmy instances do not. They’re way more polished due to being around for so much longer.


Forums are different for sure, but I think they’re similar enough. There’s even a phpBB front-end for Lemmy.

I picked Xenforo for my own reasons, but there are plenty of free forum software (which I listed in the link) that can be used.

I think the one thing missing is a way to federate forums.


A detailed guide for migrating Reddit subs to your own hosted forum (Xenforo). Including reddit-like titles, and optional threaded comment view.
https://gist.github.com/MaximilianKohler/3bdedd0185283ac30c1f1422f9626947 If you have a Reddit account please post this to /r/RedditAlternatives. # Why move from Reddit to a forum? [Reddit has been going downhill on the path to enshittification for many years](https://github.com/MaximilianKohler/Archive/wiki/Reddit). But recently, they really s**t their bed. They've made communities no longer autonomous, and completely ignore their Terms of Service. Meaning there is no guarantee that any user or community can freely participate under the ToS without fear of the admins randomly stepping in and asserting their power -- whether that be via banning users or communities without cause, or turning over the community to complete outsiders or hostile entities. Reddit showed that you can't trust a 3rd party. They can rapidly and drastically change their policies to screw you over after you've put in a decade of work hosting & growing your communities on their platform. With hosting your own forum, there is no such risk; you are under complete control. Hosting your own Lemmy instance is a similar possibility, but Lemmy is early in development, and has various issues and more limitations currently. For me, adding a traditional forum to my existing website seemed like the best option at the time. I wanted to move away from Reddit ASAP without losing any of the functionality/features, and I was able to accomplish that. --- # Pros & cons of Lemmy I posted this to lemmy.world/c/reddit https://lemmy.world/post/3125497 and it was [deleted](https://web.archive.org/web/20230815071754/https://old.lemmy.world/post/3125497) without any reason/notification and I don't see a modmail feature. They have a modlog but it just shows an endless loading icon. There is also no access to your content after it's deleted, unlike with reddit. There was another thread where people were discussing the need for attracting more niche communities & content creators to Lemmy. Well you're not going to attract them like that. As a content creator that hosted a handful of niche communities on reddit, my /c/reddit experience seems to confirm that making my own forum was the right decision. I made the below comment about some of the drawbacks of Lemmy and I guess these are more to add. Perhaps Lemmy would be the best option in the [near] future. Unfortunately, forums lack the networking exposure of the fediverse. > I've seen people complain about the phpBB UI, so that made me shy away from using it for my website even though I personally like it. > > I started looking into forums some months ago, and in that time Lemmy has already come a long way, to where I think Lemmy would possibly be the better option soon. But I wanted to get my site up and running ASAP. > > A few things that factored into my decision: > > * I think Reddit and its alts need the features of /r/enhancement and /r/Toolbox. > * I don't like the default UI of Lemmy. It's too bloated. I'm using old.lemmy.world now but it's definitely lacking in features and a bit buggy _(IE: I had to switch to the "regular" site, and log in separately, to edit my post)_. > * I saw beehaw defederate due to lack of mod tools. > * lemmy.world showing Lemmy's vulnerabilities (ddos, security, etc.). > * I'm still familiarizing myself with Lemmy and the fediverse. It's a bit complex. > * The voting system has its upsides and downsides. I think no downvote button is the best option. > * I don't like the time-based nature of reddit-type sites. With forums, you don't need to always be there to answer right away. Discussions can take place over longer periods of time. > * As you say, a full step-by-step guide is essential. > * I'm now very hesitant to trust any 3rd party. I'd have to trust that the Lemmy instance I choose [won't do the same thing reddit did to me](https://maximiliankohler.blogspot.com/2023/06/reddit-is-dangerous-humanity-needs-an-alternative.html). > > I wasn't really considering hosting my own Lemmy instance at the time. But I think it can be installed onto a subdomain of any website?
fedilink

How to send bulk/mass email with Amazon SES. 10,000-100,000 one-time emails, or thousands per day. Set up your own web server for newsletters. Mailchimp alternative
https://gist.github.com/MaximilianKohler/84d2175472612a34bcc1c2ebf99b91d4 When I searched for this I had a very hard time finding a right answer because all the results were SEO blogs advertising their newsletter services (Mailchimp, Convertkit, etc.), which is not the same thing. My use case is that I have a Google form collecting tens of thousands of applications. And I need to reply to those people en masse (a few thousand per day). None of the newsletter services are designed for this, and they're all very expensive. Even if your use case is a regular newsletter, setting up your own server is **way cheaper**. **My goal** was to find the most cost-effective, user-friendly, bulk/mass email sender with good deliverability and open rates. One-time, 100,000+ emails per month, 3-4k/day. Feel free to share your input in the comments. I'm a total noob and had never dealt with anything like this in the past. But [have now hosted multiple sites for various reasons, and wrote guides for them as well](https://old.lemmy.world/post/3125497). --- **The short answer** is that you need to set up your own web server _(Hetzner, AWS, DigitalOcean, etc.)_, install an email software on it _(Listmonk, Mailwizz, Mautic)_, and use an SMTP like Amazon SES. It's not that hard. If you're on Windows, [Putty and FileZilla](https://vpsfix.com/3034/connect-linux-vps-ssh-puttyfilezilla/) will be your main programs to access your server. When using CSV files for your contacts, you want to use UTF-8 format.
fedilink