Giter Site home page Giter Site logo

domcloud / domcloud Goto Github PK

View Code? Open in Web Editor NEW
30.0 2.0 5.0 19.91 MB

Classic Web Hosting Made Easy

Home Page: https://domcloud.co/

SCSS 0.14% JavaScript 34.21% TypeScript 33.60% CSS 16.89% MDX 13.44% HTML 1.72%
dom-cloud hosting nginx free open-source free-service freehosting

domcloud's Introduction

domcloud's People

Contributors

senophyx avatar willnode 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

Watchers

 avatar  avatar

domcloud's Issues

ZeroSSL issuance support

DOM Cloud supports Let's Encrypt issuance, so you can often use it without worrying about SSL (TLS).
This what many web services already do.

Therefore, I thought that there was a demand for support to issue ZeroSSL instead of Let's Encrypt;
https://zerossl.com/

I've never seen support for ZeroSSL at the server level. What if it was DOM Cloud ...?

Preparing for DNS migration

We recently added a new server located in Tokyo, Japan. However, it can't be used because there's no room for another free wildcard domain.

In the upcoming days, we'll implement dynamic DNS management for domcloud.io for all servers. This means no matter the location server you're choosing the free domain will be domcloud.io for all new hosts. Existing .dom.my.id users can still use the domain until it expires by next year. Existing domcloud.io should not be affected by service disruption, although it's not a guarantee.

*.domcloud.io domain is on hold

So I got an email that domcloud.io is currently suspended on the domain level because it contains phishing content, without being contacted first.

There's nothing I can do currently until it gets resolved by them. Discussions are currently in place.

Update: Solved, read below.

nginx errors out during deployment on Singapore server

The deployment fails due to following error :

$> Error occured with exit code 1

nginx: [emerg] "listen" directive is not allowed here in /etc/nginx/conf.d/hupsuwa.sga.dom.my.id.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Server - singapore
looks like it's due to some stale broken nginx config file.

Do you need another server's location?

So far I've covered six server locations:

  • Singapore (SGA)
  • New York (NYC)
  • Frankfurt (FRA) (Added Jan 2023)
  • Osaka (OSA) (Added Nov 2023)
  • Bangalore (BLR) (Added Nov 2023)
  • São Paulo (SAO) (Added Nov 2023)

I (maybe still) want to add other locations but I need feedback. Maybe 10-20 upvotes of the below suggestions make me convinced enough to create a new one. Feel free to add another suggestion if it is not listed yet.

Cannot resolve the name of `* .domcloud.io`

The name server of domcloud.io (New York server) cannot be resolved after 3am (UTC) on June 4th.
I've confirmed this, so I think I was influenced by the work involved: #10

PS C:\Users\balloon> dig domcloud.io "@8.8.8.8"

;; QUESTION SECTION:
;domcloud.io.                   IN      A

domcloud.id (Singapore server) and the website are working and you can log in to the portal from https://domcloud.id/ .
So I reported to the domcloud-io repository.

NYC server will go maintenance mode

Because the storage is almost full, nyc.domcloud.id will go offline at 19:00 (NYT time) tomorrow (Oct 25, 2022) for about 15 minutes. Nginx service will be turned off to avoid data loss.

Network Bandwidth and Storage Too Low in the free Tier

Hi,

Recently was trying out Domcloud after the issue with Heroku.
Before shifting from Heroku, I found a few issues with the load.

Hitting the 1 GB bandwidth CAP can be done just with a few visitors, approx 100-1000, and due to other asset files, it might hit the Bandwidth CAP even earlier.

Also, the Storage Capacity faces the same issue, preferably raise that to 5GB so that it can be used and the Bandwidth CAP to 20GB?.

Apart from that loved your work and keep it up!!!

Thanks.

Can't turn off Firewall

Hello, it seem I can't turn off the firewall, that make me can't connect to other than whitelisted in firewall. Please help me to solve it
Screenshot_20240203-142228_Chrome_1

comment deployement recipe

comment deploy recipe

the issue

I create website using wordpress, I push the code on github to use it as source in domcloud deployement recipe. I copy past the recipe from https://domcloud.co/docs/deployment/cms/ then replace ressources url by my github repo (after create first release) but when I run the deployement via domcloud dashboad it file, it can't execute the following commands :

  • sed -i "s/database_name_here/${DATABASE}/g" wp-config.php
  • sed -i "s/username_here/${USERNAME}/g" wp-config.php
  • sed -i "s/password_here/${PASSWORD}/g" wp-config.php

the solution

after some search I understand tha following command :

  • sed -i "s/username_here/${USERNAME}/g" wp-config.php

will search for the string "username_here" in wp-config.php file (copied by previous command from wp-config-sample.php) when retreive it, then it will replace it by the env variable /${USERNAME}/ available for domcloud deployement tool, but the string "username_here" does'nt exist in my wp-config.php because it depend the language you choose where you setup new wordpress project, I choose french insead of English then I get "votre_nom_ici" instead of "username_here", I replace all Engish word related to wp config in the recipe commands by the equivalent in french then the deployement success.

conclusion:

please comment each command in the deployement recipe, this will help domcloud users to easy use for your plateforme.

Use more fine grained github access

The app is request read/write permission for all private repos. I don't need to explain why this is dangerous, I should be able to grant access to only 1 repo.

ZeroSSL issuance support

DOM Cloud supports Let's Encrypt issuance, so you can often use it without worrying about SSL (TLS).
This what many web services already do.

Therefore, I thought that there was a demand for support to issue ZeroSSL instead of Let's Encrypt;
https://zerossl.com/

I've never seen support for ZeroSSL at the server level. What if it was DOM Cloud ...?

Free domains currently reported as Phising Domain by Google

Recently DOM Cloud get attacked by someone who put phising web in *.dom.my.id and *.domcloud.io so it's currently red flagged by Chrome.

It has been mitigated but chrome false reports could take days to resolve. If you want it fixed now, use custom domain.

Sorry for this inconvenience. Next time we'll put a stronger measurements to mitigate this kind of issue.

Problem with Creating New Host?

I just identified that you can't create a new server in sga.domcloud.id, this is because my mistake that I put the portal on that same server.

Temporary solution is create on nyc.domcloud.id

(I should have some kind of banner alert in the future for maintenance purposes)

Do you need another payment system?

I know maybe some people don't comfortable with PayPal. But AFAIK PayPal can do card processing without signing up.

I am aware of Stripe but it doesn't available in our country at this moment.

Crypto (USDT) is still in exploration -- really far though.

sending email using domcloud

I know it is possible to send email on domcloud using one of SMTP providers but if possible to get SMTP service included in domcloud features it will be nice, for example it will be possible to host most of CMS based web site using domcloud without need for extrenal service which give a good dx.

Increasing security measurements across the service

Recently I got a report that DOM Cloud servers were used for malicious purposes.

Along with #9 we decided to take important security measurements today:

  1. All users must have a confirmed email. This it to prevent bad actors using our free service for phising.
  2. All outgoing request from free non-paid host will be blocked except requesting to explicitly whitelisted list of domains. This unfornatunely also blocks legitimate request like email or external API, but we have to. This is to prevent bad actors using our free service for proxy, DoS or other malicious purpose. If you need to unblock this, you need to upgrade the host.
  3. Paid hosts will have a choice to add custom outgoing whitelist domains or turn it off completely
  4. Direct IP access to will show a link to abuse reporting email to help mitigate unexpected attack quickly.
  5. Custom domains ordered from here will have DNSSEC enabled by default (not implemented yet, but coming soon)

passenger_ruby duplicate path error when starting Nginx with Passenger.

When creating a default Rails application it gives Passenger error:

/bin/sh: line 1: /home/defensive-cook-dew/home/defensive-cook-dew/.rvm/rubies/default/bin/ruby: No such file or directory

I believe it is due to starting 2 servers one after another one with SSL, somehow it messes up passenger_ruby path to duplicate application name e.g /home/app-name/home/app-name/.rvm/default/wrap/ruby

etc/nginx/nginx.conf

...
    expires $expires;
    server {
        server_name _;
        listen 68.183.191.223;
        listen [2400:6180:0:d1::770:4001];
        return 301 https://$host$request_uri;
    }
    server {
        server_name _;
        listen 68.183.191.223:443;
        listen [2400:6180:0:d1::770:4001]:443;
        return 301 https://domcloud.co;
        ssl_certificate /home/domcloud/ssl.combined;
        ssl_certificate_key /home/domcloud/ssl.key;
    }
    include /etc/nginx/conf.d/*.conf;
        server_names_hash_bucket_size 128;
}

Background tasks as service

I hope to see the possibility to deploy Backgroud tasks like we deploy a web site, in fact most web sites may need background tasks that access the same database.

Don't delete my data!

I want a storage limit system that doesn't delete my home directory without warning.

Either let the data be accessible for at least 24 hours and send an email warning, or prevent disk writes that exceed the limit.

I will try to get my backend running on another free service before you fix this. If you fix it fast enough, then I will use dom cloud.

Websites sometimes unresponsive?

DOM Cloud uses Digital Ocean as the underlying IaaS (server). It uses 12$ droplets for all servers, which means it uses shared 1 vCPU and 2 GB of RAM.

When the server gets unresponsive, this is what happens:

image

Usually, I spot it within 10 minutes from the status alert and forcefully reboot the system so the CPU will go back to normal. I know it works because it's happening multiple times. However, I'm not available 24/7, the graph above happened while I'm sleeping.

These spikes happened because of the risk of using Shared vCPU droplets, not from our current system. Moving to a dedicated CPU requires using 42$ droplet, which is way above my available budget.

So how to solve this?

  1. Upgrade to paid tiers
  2. Donate
  3. Set up your own on-premise server and DM me so I can link DOM Cloud to your server (just for you or everyone in your org).
  4. Just purchase your own "dedicated" VPS? ¯\_(ツ)_/¯

When the budget is match (aka. enough users with paid tiers) we'll increase the server spec anyway. DOM Cloud is not a fund-raised company, it is solely purposed as a hobby project, there's a limit to "burning money" so I have to upscale it slowly. Staying "free" does have the risk of giving away reliability not just for you, but all users.

Roadmap

I wish I can work to improve the service but currently got have no time so this is a reminder to me.

Things to complete in order:

  • Template generator
    • UI (in React)
    • Code Generator
    • Integrate to portal
  • Unified rootkit
    • Rewrite existing code to Node.js
    • Write Virtualmin API proxy
    • Write Deploy-to-SSH proxy
    • Integrate to servers
  • Rewrite portal
    • Rewrite existing code to Node.js (same database layout)
    • Integrate with GitHub like it's the first-class
    • Bake template generator and write deploy engine to work with unified rootkit
    • Custom/self-managed servers with monthly pricing
    • Move away from CentOS

ETA probably before next year.

Free users: Please take care your storage usage

This might be a weird request but recently I've seen that disk usage is high for SGA and NYC servers, most are occupied by free users, whether it's actually used or not.

One of the truth in this world are... nothing is actually free. This service exists with a generous free plan because I found a way to maximize cost-saving such that I will not be bothered with "burning money" even with zero revenue for many years to come.

So that's said... The fastest resource that can be depleted quickly would be the storage. Because recent trends of increasing storage usage... I might start writing an automatic cleanup to caches (everything in ~/.cache)... Hopefully that will solve storage issue without noticeable impacts.

Active participation of minimizing disk usage would be helpful. If you're using the free plan, please use resources wisely so everyone else still can enjoy our services without interruption.

If you have the budget to use our subscription plans, please do so :)

Thank you.

Web SSH is not working

Web SSH is currently unavailable. SSH itself can be logged in.
It occurs only on the New York server.

cURL and wget don't work

I noticed that the template was failing on the New York server.
After examining it in detail, I can't refer to it with wget or cURL.

[🎈@nyc ~]$ curl https://example.net.eu.org/
curl: (7) Failed to connect to example.net.eu.org port 443: Connection refused
[🎈@nyc ~]$ wget https://example.net.eu.org/
--2021-06-21 07:28:02--  https://example.net.eu.org/
Resolving example.net.eu.org (example.net.eu.org)... 2606:4700:3033::ac43:b870, 2606:4700:3032::6815:130d, 172.67.184.112, ...
Connecting to example.net.eu.org (example.net.eu.org)|2606:4700:3033::ac43:b870|:443... failed: Connection refused.
Connecting to example.net.eu.org (example.net.eu.org)|2606:4700:3032::6815:130d|:443... failed: Connection refused.
Connecting to example.net.eu.org (example.net.eu.org)|172.67.184.112|:443... failed: Connection refused.
Connecting to example.net.eu.org (example.net.eu.org)|104.21.19.13|:443... failed: Connection refused.
[🎈@nyc ~]$ ▄

example.net.eu.org exists in my project: https://github.com/fu-sen/example.net.eu.org
After examining it in detail, I can't refer to it with wget or cURL.

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.