41554 blogs · [ { "id": "01a087d8-8c2d-7214-9dc5-a0544703e16b", "title": "Basic RESTFul API Server with Python Flask", "url": "https://ruan.dev/blog/2018/04/21/basic-restful-api-server-with-python-flask", "published_at": "2018-04-21T23:35:34+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05447cce080", "title": "Basic Introduction to use arguments with Argparse on Python", "url": "https://ruan.dev/blog/2018/04/18/basic-introduction-to-use-arguments-with-argparse-on-python", "published_at": "2018-04-18T17:35:28+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05448757466", "title": "How to Monitor a Amazon Elasticsearch Service Cluster Update Process", "url": "https://ruan.dev/blog/2018/04/16/how-to-monitor-a-amazon-elasticsearch-service-cluster-update-process", "published_at": "2018-04-16T07:24:09+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544892bb45", "title": "Experimenting with Python and TinyMongo a MongoDB wrapper for TinyDB", "url": "https://ruan.dev/blog/2018/04/15/experimenting-with-python-and-tinymongo-a-mongodb-wrapper-for-tinydb", "published_at": "2018-04-15T20:39:22+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05448e010d3", "title": "Experimenting with Python and Flata the Lightweight Document Orientated Database", "url": "https://ruan.dev/blog/2018/04/15/experimenting-with-python-and-flata-the-lightweight-document-orientated-database", "published_at": "2018-04-15T19:09:25+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05448ed1520", "title": "Set Docker Environment Variables during Build Time", "url": "https://ruan.dev/blog/2018/04/07/set-docker-environment-variables-during-build-time", "published_at": "2018-04-07T13:51:35+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05449e6d98b", "title": "Docker Environment Substitution with Dockerfile", "url": "https://ruan.dev/blog/2018/04/07/docker-environment-substitution-with-dockerfile", "published_at": "2018-04-07T13:18:20+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544a0307a7", "title": "Using AWS SSM Parameter Store to Retrieve Secrets Encrypted by KMS using Python", "url": "https://ruan.dev/blog/2018/04/04/using-aws-ssm-parameter-store-to-retrieve-secrets-encrypted-by-kms-using-python", "published_at": "2018-04-04T20:47:16+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544a4647be", "title": "Using Python Boto3 and DreamHosts DreamObjects to Interact with their Object Storage Offering", "url": "https://ruan.dev/blog/2018/04/03/using-python-boto3-and-dreamhosts-dreamobjects-to-interact-with-their-object-storage-offering", "published_at": "2018-04-03T11:19:27+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544b2a5dff", "title": "Setup MongoDB Server on ARM64 using Scaleway", "url": "https://ruan.dev/blog/2018/04/01/setup-mongodb-server-on-arm64-using-scaleway", "published_at": "2018-04-01T22:46:27+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544b5a1053", "title": "Create a Logical Volume using LVM on Ubuntu", "url": "https://ruan.dev/blog/2018/03/30/create-a-logical-volume-using-lvm-on-ubuntu", "published_at": "2018-03-31T00:38:18+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544bedd90b", "title": "Setup Payara Application Server on Ubuntu 16.04", "url": "https://ruan.dev/blog/2018/03/29/setup-payara-application-server-on-ubuntu-16-dot-04", "published_at": "2018-03-29T23:57:40+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544c3c5141", "title": "Expanding the Size of your EBS Volume on AWS EC2 for Linux", "url": "https://ruan.dev/blog/2018/03/28/expanding-the-size-of-your-ebs-volume-on-aws-ec2-for-linux", "published_at": "2018-03-28T05:45:07+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544d219dc4", "title": "Nginx Basic Authentication with Source IP Whitelisting", "url": "https://ruan.dev/blog/2018/03/19/nginx-basic-authentication-with-source-ip-whitelisting", "published_at": "2018-03-19T14:57:36+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544ddc9791", "title": "Populate Environment Variables from Docker Secrets with a Flask Demo App", "url": "https://ruan.dev/blog/2018/03/12/populate-environment-variables-from-docker-secrets-with-a-flask-demo-app", "published_at": "2018-03-12T22:16:42+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544e202f67", "title": "Send SMS Messages with Python and Twilio via their API", "url": "https://ruan.dev/blog/2018/03/02/send-sms-messages-with-python-and-twilio-via-their-api", "published_at": "2018-03-02T22:09:56+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544f024b1c", "title": "Golang: Reading from Files and Writing to Disk with Arguments", "url": "https://ruan.dev/blog/2018/03/02/golang-reading-from-files-and-writing-to-disk-with-arguments", "published_at": "2018-03-02T12:11:13+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544f87eec7", "title": "Golang: Reading from Files and Writing to Disk with Golang", "url": "https://ruan.dev/blog/2018/03/02/golang-reading-from-files-and-writing-to-disk-with-golang", "published_at": "2018-03-02T11:44:59+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0544fbb4482", "title": "Setup a KVM Hypervisor on Ubuntu to Host Virtual Machines", "url": "https://ruan.dev/blog/2018/02/20/setup-a-kvm-hypervisor-on-ubuntu-to-host-virtual-machines", "published_at": "2018-02-20T11:21:56+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05450332aed", "title": "Guide to Setup Docker Convoy Volume Driver for Docker Swarm with NFS", "url": "https://ruan.dev/blog/2018/02/16/guide-to-setup-docker-convoy-volume-driver-for-docker-swarm-with-nfs", "published_at": "2018-02-16T13:51:59+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05450d962d4", "title": "Setup a NFS Server on Ubuntu", "url": "https://ruan.dev/blog/2018/02/11/setup-a-nfs-server-on-ubuntu", "published_at": "2018-02-11T22:26:56+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05450f17ad4", "title": "Setup a Site to Site IPsec VPN with Strongswan and PreShared Key Authentication", "url": "https://ruan.dev/blog/2018/02/11/setup-a-site-to-site-ipsec-vpn-with-strongswan-and-preshared-key-authentication", "published_at": "2018-02-11T21:09:37+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05451b33850", "title": "Authenticate to your AWS MySQL RDS Instance via IAM", "url": "https://ruan.dev/blog/2018/01/30/authenticate-to-your-aws-mysql-rds-instance-via-iam", "published_at": "2018-01-30T15:02:05+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545273c63a", "title": "Using Hive for Small Datasets on my Mac using Docker", "url": "https://ruan.dev/blog/2018/01/23/using-hive-for-small-datasets-on-my-mac-using-docker", "published_at": "2018-01-23T15:06:16+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05452f7a509", "title": "Using getpass in Python to accept passwords from stdin without echoing it back", "url": "https://ruan.dev/blog/2018/01/22/using-getpass-in-python-to-accept-passwords-from-stdin-without-echoing-it-back", "published_at": "2018-01-22T18:15:09+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545303ed1c", "title": "Setup a Basic Hello World Pipeline on Concourse", "url": "https://ruan.dev/blog/2018/01/11/setup-a-basic-hello-world-pipeline-on-concourse", "published_at": "2018-01-11T14:15:27+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05453b46ba9", "title": "Change your Relayhost on Postfix using Sed", "url": "https://ruan.dev/blog/2017/12/14/change-your-relayhost-on-postfix-using-sed", "published_at": "2017-12-14T15:11:33+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05453c89cb6", "title": "Graphing Pretty Charts with Python Flask and Chartjs", "url": "https://ruan.dev/blog/2017/12/14/graphing-pretty-charts-with-python-flask-and-chartjs", "published_at": "2017-12-14T07:28:51+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054542b5ad8", "title": "Create a Chatbot with Chatterbot on Python", "url": "https://ruan.dev/blog/2017/12/13/create-a-chatbot-with-chatterbot-on-python", "published_at": "2017-12-13T13:53:50+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545518e9ff", "title": "SSH Host Key Warnings with Strict Checking Enabled", "url": "https://ruan.dev/blog/2017/12/13/ssh-host-key-warnings-with-strict-checking-enabled", "published_at": "2017-12-13T07:07:29+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05455cfa867", "title": "Setup a 3 Node Kubernetes Cluster on Ubuntu", "url": "https://ruan.dev/blog/2017/12/11/setup-a-3-node-kubernetes-cluster-on-ubuntu", "published_at": "2017-12-11T14:31:47+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05456b44af8", "title": "Rejoining or Bootstrapping MySQL Galera Cluster Nodes after Shutdown", "url": "https://ruan.dev/blog/2017/12/10/rejoining-or-bootstrapping-mysql-galera-cluster-nodes-after-shutdown", "published_at": "2017-12-10T23:03:44+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05456e3c5cb", "title": "Unmask a Masked Service in Systemd", "url": "https://ruan.dev/blog/2017/12/09/unmask-a-masked-service-in-systemd", "published_at": "2017-12-09T07:02:21+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054577bb8e5", "title": "Setup a NFS Server on a RaspberryPi", "url": "https://ruan.dev/blog/2017/12/05/setup-a-nfs-server-on-a-raspberrypi", "published_at": "2017-12-05T15:45:35+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05457cbba45", "title": "Elasticsearch Curator to Manage and Curate your Elasticsearch Indexes", "url": "https://ruan.dev/blog/2017/12/04/elasticsearch-curator-to-manage-and-curate-your-elasticsearch-indexes", "published_at": "2017-12-04T13:39:06+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054581c97f6", "title": "Basic Concourse Pipeline with Bash and Golang Jobs", "url": "https://ruan.dev/blog/2017/11/24/basic-concourse-pipeline-with-bash-and-golang-jobs", "published_at": "2017-11-24T23:38:15+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054582dbc39", "title": "Use Docker Secrets with MySQL on Docker Swarm", "url": "https://ruan.dev/blog/2017/11/23/use-docker-secrets-with-mysql-on-docker-swarm", "published_at": "2017-11-23T21:55:15+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05458f281d3", "title": "Setup a 3 Node Galera MariaDB Cluster on Ubuntu 16", "url": "https://ruan.dev/blog/2017/11/22/setup-a-3-node-galera-mariadb-cluster-on-ubuntu-16", "published_at": "2017-11-22T23:17:14+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054596fda40", "title": "Delete Old Items with Amazons DynamoDB TTL Feature", "url": "https://ruan.dev/blog/2017/11/22/delete-old-items-with-amazons-dynamodb-ttl-feature", "published_at": "2017-11-22T22:47:31+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545a40023c", "title": "Update your Ghost Blog with the Ghost-CLI", "url": "https://ruan.dev/blog/2017/11/22/update-your-ghost-blog-with-the-ghost-cli", "published_at": "2017-11-22T22:36:45+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545a5fd767", "title": "Use the Reindex API on Elasticsearch to Reindex your Data", "url": "https://ruan.dev/blog/2017/11/22/use-the-reindex-api-on-elasticsearch-to-reindex-your-data", "published_at": "2017-11-22T14:32:00+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545b3fb1c0", "title": "Using Elasticsearch Curator to Reindex Data", "url": "https://ruan.dev/blog/2017/11/22/using-elasticsearch-curator-to-reindex-data", "published_at": "2017-11-22T14:09:28+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545c2d1a80", "title": "Using Elasticdump to Backup Elasticsearch Indexes to JSON", "url": "https://ruan.dev/blog/2017/11/22/using-elasticdump-to-backup-elasticsearch-indexes-to-json", "published_at": "2017-11-22T13:35:28+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545cc0bc31", "title": "Routing Web Traffic with a SOCKS Tunnel", "url": "https://ruan.dev/blog/2017/11/14/routing-web-traffic-with-a-socks-tunnel", "published_at": "2017-11-14T15:17:07+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545db4b46f", "title": "Local Dev Environment with Docker MySQL and Adminer WebUI with Docker Compose", "url": "https://ruan.dev/blog/2017/11/13/local-dev-environment-with-docker-mysql-and-adminer-webui-with-docker-compose", "published_at": "2017-11-13T21:15:34+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545e1bcc7f", "title": "Setup a Concourse-CI Server on Ubuntu 16", "url": "https://ruan.dev/blog/2017/11/07/setup-a-concourse-ci-server-on-ubuntu-16", "published_at": "2017-11-07T22:55:46+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545ed2dadb", "title": "Installing Elastalert for Elasticsearch on Amazon Linux", "url": "https://ruan.dev/blog/2017/11/07/installing-elastalert-for-elasticsearch-on-amazon-linux", "published_at": "2017-11-07T12:53:33+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545eda9c93", "title": "Linux Shell Commands with the Python Commands Module", "url": "https://ruan.dev/blog/2017/11/06/linux-shell-commands-with-the-python-commands-module", "published_at": "2017-11-06T20:15:23+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545f5ec73a", "title": "Using Python to Query MySQL Database with MySQLdb Library", "url": "https://ruan.dev/blog/2017/10/26/using-python-to-query-mysql-database-with-mysqldb-library", "published_at": "2017-10-26T07:40:11+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545fd015b0", "title": "Your First Hello World App with Golang", "url": "https://ruan.dev/blog/2017/10/25/your-first-hello-world-app-with-golang", "published_at": "2017-10-25T21:16:25+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0545fda7dc5", "title": "New Posts on Github Pages with Octopress not Showing on your Blog", "url": "https://ruan.dev/blog/2017/10/25/new-posts-on-github-pages-with-octopress-not-showing-on-your-blog", "published_at": "2017-10-25T10:54:59+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05460925aed", "title": "Running Java Web Applications on Tomcat with Docker Swarm", "url": "https://ruan.dev/blog/2017/10/24/running-java-web-applications-on-tomcat-with-docker-swarm", "published_at": "2017-10-24T13:37:38+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054617d3b30", "title": "Managing Traefik Configuration with Consul on Docker Swarm", "url": "https://ruan.dev/blog/2017/10/24/managing-traefik-configuration-with-consul-on-docker-swarm", "published_at": "2017-10-24T07:08:15+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054625470bb", "title": "Basic Example with Python to create a Module that consists of Classes and Functions", "url": "https://ruan.dev/blog/2017/10/22/basic-example-with-python-to-create-a-module-that-consists-of-classes-and-functions", "published_at": "2017-10-22T09:45:17+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05462661a57", "title": "Python Script to Decrypt Encrypted Data with AWS KMS", "url": "https://ruan.dev/blog/2017/10/20/python-script-to-decrypt-encrypted-data-with-aws-kms", "published_at": "2017-10-20T08:54:51+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05462ec1c91", "title": "Setup Kerberos Server and Client on Ubuntu", "url": "https://ruan.dev/blog/2017/10/18/setup-kerberos-server-and-client-on-ubuntu", "published_at": "2017-10-18T22:25:11+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05463ac2c81", "title": "Using Python to build a Dictionary from data eg sports per person", "url": "https://ruan.dev/blog/2017/10/14/using-python-to-build-a-dictionary-from-data-eg-sports-per-person", "published_at": "2017-10-14T18:53:48+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054649a2015", "title": "Customize Ubuntu 16 Desktop with Arc Dark Theme", "url": "https://ruan.dev/blog/2017/10/11/customize-ubuntu-16-desktop-with-arc-dark-theme", "published_at": "2017-10-11T19:56:10+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05465202a19", "title": "Display PHP Content through HTML files", "url": "https://ruan.dev/blog/2017/10/11/display-php-content-through-html-files", "published_at": "2017-10-11T06:43:55+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05465452753", "title": "Sending Mail with SSMTP on Alpine Linux", "url": "https://ruan.dev/blog/2017/10/09/sending-mail-with-ssmtp-on-alpine-linux", "published_at": "2017-10-09T20:36:35+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0546583aa86", "title": "Backup and Restore Mutliple Collections from a Database with MongoDB", "url": "https://ruan.dev/blog/2017/10/03/backup-and-restore-mutliple-collections-from-a-database-with-mongodb", "published_at": "2017-10-03T20:42:34+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05465f81398", "title": "Creating a Nodejs Hostname App with Docker Stacks on Swarm", "url": "https://ruan.dev/blog/2017/09/24/creating-a-nodejs-hostname-app-with-docker-stacks-on-swarm", "published_at": "2017-09-24T21:52:51+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05465fd6f4d", "title": "Create a 3 Node Elasticsearch Stack with HAProxy on Docker Swarm", "url": "https://ruan.dev/blog/2017/09/24/create-a-3-node-elasticsearch-stack-with-haproxy-on-docker-swarm", "published_at": "2017-09-24T19:40:19+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a054663c8619", "title": "Simple Program with C Language on Linux", "url": "https://ruan.dev/blog/2017/09/24/simple-program-with-c-language-on-linux", "published_at": "2017-09-24T10:41:58+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05467295ad7", "title": "Using the AWS CLI tools to grab CloudWatch Metrics for Elasticsearch", "url": "https://ruan.dev/blog/2017/09/22/using-the-aws-cli-tools-to-grab-cloudwatch-metrics-for-elasticsearch", "published_at": "2017-09-22T22:06:23+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a0546799beb6", "title": "Using the Python sys library to read data from stdin", "url": "https://ruan.dev/blog/2017/09/18/using-the-python-sys-library-to-read-data-from-stdin", "published_at": "2017-09-18T15:42:01+00:00" }, { "id": "01a087d8-8c2d-7214-9dc5-a05467bdefdb", "title": "Setup a Postfix Relay Server that Uses SES to Relay Outbound Mail", "url": "https://ruan.dev/blog/2017/09/16/setup-a-postfix-relay-server-that-uses-ses-to-relay-outbound-mail", "published_at": "2017-09-16T22:01:49+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97c77fc38b", "title": "Nginx Reverse Proxy for Elasticsearch and Kibana 5 on AWS", "url": "https://ruan.dev/blog/2017/09/16/nginx-reverse-proxy-for-elasticsearch-and-kibana-5-on-aws", "published_at": "2017-09-16T21:24:32+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97c8613b1d", "title": "AWS: IAM S3 Policy for Cyberduck to Allow Listing Buckets and Access to One Bucket", "url": "https://ruan.dev/blog/2017/09/15/aws-iam-s3-policy-for-cyberduck-to-allow-listing-buckets-and-access-to-one-bucket", "published_at": "2017-09-15T15:18:17+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97c93de383", "title": "Using Python for Image Analysis with Amazons Rekognition Service", "url": "https://ruan.dev/blog/2017/09/11/using-python-for-image-analysis-with-amazons-rekognition-service", "published_at": "2017-09-11T14:20:28+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97c9a9ecc5", "title": "Setup RocketChat on Docker Swarm", "url": "https://ruan.dev/blog/2017/09/10/setup-rocketchat-on-docker-swarm", "published_at": "2017-09-10T22:45:12+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97ca762e08", "title": "HTTPS Termination using LetsEncrypt with Traefik on Docker Swarm", "url": "https://ruan.dev/blog/2017/09/09/https-termination-using-letsencrypt-with-traefik-on-docker-swarm", "published_at": "2017-09-09T22:40:15+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cae3181c", "title": "Run Kibana on Docker Swarm with Traefik", "url": "https://ruan.dev/blog/2017/09/09/run-kibana-on-docker-swarm-with-traefik", "published_at": "2017-09-09T22:33:12+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cbcb8f9f", "title": "Using Python to Write Data to a MySQL Database", "url": "https://ruan.dev/blog/2017/09/09/using-python-to-write-data-to-a-mysql-database", "published_at": "2017-09-09T20:39:59+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cc956ca0", "title": "Using Python to Read Data from a MySQL Database", "url": "https://ruan.dev/blog/2017/09/09/using-python-to-read-data-from-a-mysql-database", "published_at": "2017-09-09T19:23:05+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97ccc241f8", "title": "Using Minios Python SDK to interact with a Minio S3 Bucket", "url": "https://ruan.dev/blog/2017/09/08/using-minios-python-sdk-to-interact-with-a-minio-s3-bucket", "published_at": "2017-09-08T20:15:52+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cd9bc8ef", "title": "Run your Self-Hosted S3 Service with Minio on Docker Swarm", "url": "https://ruan.dev/blog/2017/09/08/run-your-self-hosted-s3-service-with-minio-on-docker-swarm", "published_at": "2017-09-08T19:29:29+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cdb0bd3b", "title": "How to create a Local Docker Swarm Cluster with Docker in Docker on your Workstation", "url": "https://ruan.dev/blog/2017/09/07/how-to-create-a-local-docker-swarm-cluster-with-docker-in-docker-on-your-workstation", "published_at": "2017-09-07T08:03:37+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cdfcea22", "title": "Getting Started with Chef: Creating a Website with Apache", "url": "https://ruan.dev/blog/2017/09/04/getting-started-with-chef-creating-a-website-with-apache", "published_at": "2017-09-04T18:21:20+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cee7b3ee", "title": "Getting Started with Chef: Working with Files", "url": "https://ruan.dev/blog/2017/09/04/getting-started-with-chef-working-with-files", "published_at": "2017-09-04T18:06:01+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cf9bfc3b", "title": "Splitting Characters with Python to determine Name Surname and Email Address", "url": "https://ruan.dev/blog/2017/09/04/splitting-characters-with-python-to-determine-name-surname-and-email-address", "published_at": "2017-09-04T13:22:42+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97cfb79632", "title": "Setup a 3 Node MongoDB Replica Set on Ubuntu 16", "url": "https://ruan.dev/blog/2017/09/02/setup-a-3-node-mongodb-replica-set-on-ubuntu-16", "published_at": "2017-09-02T23:29:10+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d095a459", "title": "Setup HAProxy Load Balancer for MySQL Galera with IP Whitelisting and Backup Servers", "url": "https://ruan.dev/blog/2017/08/31/setup-haproxy-load-balancer-for-mysql-galera-with-ip-whitelisting-and-backup-servers", "published_at": "2017-08-31T23:15:50+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d0f1ef92", "title": "Secure your Access to Kibana 5 and Elasticsearch 5 with Nginx for AWS", "url": "https://ruan.dev/blog/2017/08/31/secure-your-access-to-kibana-5-and-elasticsearch-5-with-nginx-for-aws", "published_at": "2017-08-31T14:40:09+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d183b9c8", "title": "Reference Credentials Outside Your Main Application in Python", "url": "https://ruan.dev/blog/2017/08/31/reference-credentials-outside-your-main-application-in-python", "published_at": "2017-08-31T07:00:58+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d2053943", "title": "Change IAM Username with AWS CLI", "url": "https://ruan.dev/blog/2017/08/28/change-iam-username-with-aws-cli", "published_at": "2017-08-28T22:27:21+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d27490d8", "title": "Using the Python API for MongoDB using PyMongo", "url": "https://ruan.dev/blog/2017/08/27/using-the-python-api-for-mongodb-using-pymongo", "published_at": "2017-08-27T20:19:48+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d34b4f9b", "title": "Setup a Local MongoDB Development 3 Member Replica Set", "url": "https://ruan.dev/blog/2017/08/27/setup-a-local-mongodb-development-3-member-replica-set", "published_at": "2017-08-27T05:10:16+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d4109b16", "title": "Building a Alpine Nginx PHP-Fpm Image on Docker for PHP Applications", "url": "https://ruan.dev/blog/2017/08/26/building-a-alpine-nginx-php-fpm-image-on-docker-for-php-applications", "published_at": "2017-08-27T00:41:16+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d4e68f38", "title": "Create a Lightweight Webserver (Service) with Lighttpd on Alpine running on Docker Swarm", "url": "https://ruan.dev/blog/2017/08/26/create-a-lightweight-webserver-service-with-lighttpd-on-alpine-running-on-docker-swarm", "published_at": "2017-08-26T15:37:19+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d5135cbd", "title": "Structured Search with Elasticsearch", "url": "https://ruan.dev/blog/2017/08/25/structured-search-with-elasticsearch", "published_at": "2017-08-26T03:42:19+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d51f37e1", "title": "Modern Reverse Proxy with Traefik on Docker Swarm", "url": "https://ruan.dev/blog/2017/08/24/modern-reverse-proxy-with-traefik-on-docker-swarm", "published_at": "2017-08-24T23:00:33+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d6138a03", "title": "Create a ZFS Raidz1 Volume Pool on Ubuntu 16", "url": "https://ruan.dev/blog/2017/08/24/create-a-zfs-raidz1-volume-pool-on-ubuntu-16", "published_at": "2017-08-24T13:16:34+00:00" }, { "id": "01a087d8-8c2e-738a-a529-9d97d6869341", "title": "Setup MongoDB Client on CentOS 6", "url": "https://ruan.dev/blog/2017/08/24/setup-mongodb-client-on-centos-6", "published_at": "2017-08-24T12:58:10+00:00" } ] posts Claim your blog
Back to ruan.dev
Blog · corpus.blog/blogs/ruan.dev/posts

ruan.dev

ruan.dev

2018

2017