| Tool / Project | Type / Architecture | UI / Dashboard | CLI / API | Multi‑node / Clustering | Auto TLS / SSL / ACME | Zero‑downtime / Rolling Deploy | Preview / PR Environments | Team / Permissions | Volume / Backup Support | Open Source / License | Heroku‑style Compatibility | Pros / Strengths | Cons / Caveats / Weaknesses |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dokku | Single‑server (extensions for multi) | Minimal (no central UI, though plugins exist) | CLI, plugin APIs | Via community / plugin / custom setups | Yes (Let’s Encrypt plugin) | Via Docker techniques / plugin | Limited, requires extra setup | Basic (single admin; community plugins) | Plugin / manual (e.g. volume backups) | MIT (fully open source) | Good: git push, buildpack style, plugins add DB, etc. | Very stable, mature, lots of community extensions | Scaling / multi‑node is manual; UI is weak; managing many apps / teams is harder |
| Dokploy | Multi‑node / cluster (Docker Swarm) | Yes (built‑in UI) | CLI + AP |
| # start a server on Digital Ocean | |
| # https://docs.docker.com/machine/drivers/digital-ocean/ | |
| docker-machine create \ | |
| --driver digitalocean \ | |
| --digitalocean-access-token <YOUR API KEY> \ | |
| --digitalocean-size 2gb \ | |
| reaction | |
| # tell Docker to run commands on that server |
| // Existing commands that used to be 'pane:split-*' | |
| 'pane:split-left-and-copy-active-item' | |
| 'pane:split-right-and-copy-active-item' | |
| 'pane:split-up-and-copy-active-item' | |
| 'pane:split-down-and-copy-active-item' | |
| // New commands to create splits | |
| 'pane:split-left' | |
| 'pane:split-right' | |
| 'pane:split-up' |
| /** | |
| * Using Operator Mono in Atom | |
| * | |
| * 1. Open up Atom Preferences. | |
| * 2. Click the “Open Config Folder” button. | |
| * 3. In the new window’s tree view on the left you should see a file called “styles.less”. Open that up. | |
| * 4. Copy and paste the CSS below into that file. As long as you have Operator Mono SSm installed you should be golden! | |
| * 5. Tweak away. | |
| * | |
| * Theme from the screenshot (http://cdn.typography.com/assets/images/blog/operator_ide2.png): |
| with `react-native`: | |
| npm set progress=false && rm -rf ~/.npm && rm -rf node_modules && npm cache clean && time npm install | |
| npm install 83.72s user 26.03s system 100% cpu 1:49.32 total | |
| npm set progress=true && rm -rf ~/.npm && rm -rf node_modules && npm cache clean && time npm install | |
| npm install 199.30s user 27.32s system 91% cpu 4:08.29 total | |
| -- |
| console.log('Loading event'); | |
| var AWS = require('aws-sdk'); | |
| var dynamodb = new AWS.DynamoDB(); | |
| exports.handler = function(event, context) { | |
| console.log("Request received:\n", JSON.stringify(event)); | |
| console.log("Context received:\n", JSON.stringify(context)); | |
| var tableName = "OurBlogDemo"; | |
| var datetime = new Date().getTime().toString(); |
Hello, visitors! If you want an updated version of this styleguide in repo form with tons of real-life examples… check out Trellisheets! https://github.com/trello/trellisheets
“I perfectly understand our CSS. I never have any issues with cascading rules. I never have to use !important or inline styles. Even though somebody else wrote this bit of CSS, I know exactly how it works and how to extend it. Fixes are easy! I have a hard time breaking our CSS. I know exactly where to put new CSS. We use all of our CSS and it’s pretty small overall. When I delete a template, I know the exact corresponding CSS file and I can delete it all at once. Nothing gets left behind.”
You often hear updog saying stuff like this. Who’s updog? Not much, who is up with you?
| { | |
| "name": "my-app", | |
| "version": "1.0.0", | |
| "description": "My test app", | |
| "main": "src/js/index.js", | |
| "scripts": { | |
| "jshint:dist": "jshint src/js/*.js", | |
| "jshint": "npm run jshint:dist", | |
| "jscs": "jscs src/*.js", | |
| "browserify": "browserify -s Validating -o ./dist/js/build.js ./lib/index.js", |
| server { | |
| server_name yoursite.com; | |
| root /usr/share/html; | |
| index index.html; | |
| location / { | |
| try_files $uri $uri/ /index.html; | |
| } | |
| } |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.