- A single node proxmox v5.4-3 install
- Only one public IP address
- LXC/KVM for "pet" (development) containers
- Portainer / Docker for less stateful more automated use-cases
- My server's FQDN is
stardust.gtown.lan.rymcg.tech
- use your own domain name.
"use strict"; | |
// Load plugins | |
const autoprefixer = require("autoprefixer"); | |
const browsersync = require("browser-sync").create(); | |
const cp = require("child_process"); | |
const cssnano = require("cssnano"); | |
const del = require("del"); | |
const eslint = require("gulp-eslint"); | |
const gulp = require("gulp"); |
# This is a blocklist to block samsung smart tv's sending meta data at home. | |
# Please help to collect domains! | |
# It could be that the TV does not receive any more updates or other services no longer work. Please report such an incident. | |
device-metrics-us.amazon.com | |
samsungacr.com | |
samsungcloudsolution.com | |
samsungcloudsolution.net | |
pavv.co.kr | |
samsungotn.net |
# Rclone mount on boot | |
# Copy file to: /etc/systemd/system | |
# You need to create a remote on RClone and a folder on your disk, both with same name <rclone-remote> | |
# This example uses /cloud/ folder as origin to mount all remotes, change it to your needs | |
# This example use a linux user named rclone. Create it or adapt it to your needs. Rclone will get config from that user's home folder | |
# Register new service by typing: | |
# sudo systemctl daemon-reload | |
# Do the next one for every remote you want to load on boot | |
# sudo systemctl enable rclone-mount@<rclone-remote>.service | |
# systemctl start rclone-mount@<rclone-remote>.service |
Steps to deploy a Node.js app to DigitalOcean using PM2, NGINX as a reverse proxy and an SSL from LetsEncrypt
If you use the referal link below, you get $10 free (1 or 2 months) https://m.do.co/c/5424d440c63a
I will be using the root user, but would suggest creating a new user
When many users want to use a username that's taken, most software platforms solve this by just forcing them to choose another username. Discord has an interesting solution to this problem: giving people random 4 digit tags as well as their usernames! This allows for many users to have the same username while allowing each person to have a unique username that's easy to remember.
Some notes:
- Discord's tag system makes it possible to have 9_999 people with the same username, but they limit people from using popular names at a certain point.
- Discord's Nitro subscription system allows users to change their tag to any untaken tag. Their tags are randomized once their Nitro subscription ends.
- There is a rate limit of 2 name/tag changes per hour.
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> | |
<title>Test Page</title> | |
<script> | |
// early compute the vw/vh units more reliably than CSS does itself | |
computeViewportDimensions(); |
The package that linked you here is now pure ESM. It cannot be require()
'd from CommonJS.
This means you have the following choices:
- Use ESM yourself. (preferred)
Useimport foo from 'foo'
instead ofconst foo = require('foo')
to import the package. You also need to put"type": "module"
in your package.json and more. Follow the below guide. - If the package is used in an async context, you could use
await import(…)
from CommonJS instead ofrequire(…)
. - Stay on the existing version of the package until you can move to ESM.