Blog of science and life
Deploy "The Lounge" on Fly.io
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:
Website:
Deploy on Fly.io
Follow these steps to deploy "The Lounge" on Fly.io:
1. Create Dockerfile
FROM thelounge/thelounge:latest
EXPOSE 9000
2. Create new Fly.io 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 = []
[env]
[experimental]
allowed_public_ports = []
auto_rollback = true
[mounts]
source="ircdata"
destination="/var/opt/thelounge"
[[services]]
http_checks = []
internal_port = 9000
processes = ["app"]
protocol = "tcp"
script_checks = []
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = "connections"
[[services.ports]]
force_https = true
handlers = ["http"]
port = 80
[[services.ports]]
handlers = ["tls", "http"]
port = 443
[[services.tcp_checks]]
grace_period = "1s"
interval = "15s"
restart_limit = 0
timeout = "2s"
3. Create new volume
You need to create a new volume to store data. The Lounge will store all data in /var/opt/thelounge
folder.
fly volumes create ircdata --region sin --size 1
I've added [mount]
section to my fly.toml
file above.
[mounts]
source="ircdata"
destination="/var/opt/thelounge"
4. Deploy
fly deploy
5. Create new user
fly ssh console -C "su -s /bin/sh node"
Then run this command to create new user:
thelounge add <username>
6. Access
You can access your "The Lounge" at <app-name>.fly.dev
. Or run fly open
to open it in your browser.
Good luck and have fun.