Blog of science and life


Pywright - Render javascript websites


What is Playwright?

Playwright is a browser automation library from Microsoft. It can be used to automate tasks in the browser, for testing purpose.

But we can use it to scrape data from websites that use javascript to render the content.

Think about Facebook, Twitter, Instagram, etc. They use javascript to render the content. So we can't scrape them with normal tools like requests or scrapy.

Selenium is a popular tool for scraping javascript websites. It's powerful, have a lot of features, but it's slow and hard to use.

Playwright is a newplayer in this field. It's fast, have excelent simple API.

What is Pywright?

Pywright is a API service writen in python that use Playwright to render javascript websites. You can easily deploy it to any cloud provider then use it as a service.

Install Pywright

I've created a docker image for Playwright. It's contain …

Read more

Deploy "The Lounge" on

What is "The Lounge"?

"The Lounge" is a self-hosted web IRC client. It's a fork of Shout, which is no longer maintained. The Lounge is actively maintained and has a lot of features.

Screen shot:

The Lounge


Deploy on

Follow these steps to deploy "The Lounge" on

1. Create Dockerfile

FROM thelounge/thelounge:latest


2. Create new app

Run fly launch and follow the instruction. You can choose any name and server region you want.

Or you can copy this fly.toml file (replace <app-name> with your app name):

# fly.toml file generated for iirc on 2022-11-17T21:46:27+07:00

app = "<app-name>"
kill_signal = "SIGINT"
kill_timeout = 5
processes = []


  allowed_public_ports = []
  auto_rollback = true


  http_checks = []
  internal_port = 9000
  processes = ["app"]
  protocol = "tcp"
  script_checks = []
    hard_limit = 25
    soft_limit = 20
    type = "connections"

    force_https …
Read more - perfect solution - A review

After a month trying, I must say that: is awesome!.

After a year using Hosthatch, I tired of their terrible uptime, sometime the servers is down for 2 days. I'm not sure why, but I'm sure that I'm not going back to them.

Luckily, I've found It's cheap, fast and reliable. I'm moving all my services to And to be honest, it's so easy that make me feel like I'm cheating.

Guide to migrate

If you have a Dockerfile for your service, you can migrate to in 5 minutes.

Here are some examples.

Vaultwarden (No Postgres, No Redis)

Create Dockerfile

FROM vaultwarden/server:latest

Launch a new app

Run fly launch and follow the instruction. You can choose any name and server region you want.

After deployed, you can access at <app-name>

Create new …

Read more

« Page 2 / 11 »