u/Cultural_Rock6281

Good deal?

Good deal?

I got the (now discontinued) 14“ base model M5 MBP with 512 GB storage and 16 GB memory.

It cost CHF 1000 (Switzerland, taxes included) which is roughly $1270.

Finally replacing my base model M1 MBA (256 GB, 8 GB). Can‘t believe how good a value the Air was, but I think I got an ever better value deal with this Pro! The Air could have lasted me easily another year if not 2, but I just wanted the better screen and speakers!

What do you think?

u/Cultural_Rock6281 — 1 day ago
▲ 16 r/swift

Deployer Dashboard

GitHub repository: click here.

I built a self-hosted CI/CD tool specifically for Swift server apps. When you git push new code to your app's repository, Deployer intercepts this using webhooks. It then builds your app (swift build) and restarts it on your server.

A reactive live dashboard provides real time build output streams and deployment status changes, as well as start and stop buttons for your app and run buttons for the commits pushed on main. You can either use manual mode where deployments only start by pressing the run button in the panel, or automatic mode, where deployments happen instantly once new code is pushed. Only one build can run at a time; the last commit wins when multiple are pushed concurrently.

Most Swift server deploy setups I’ve tried ended up being a mix of shell scripts, GitHub Actions, and manual SSH steps. I wanted something simpler that allows for quick interation and production testing while being fully self-hosted. Deployer handles initial server setup through an automated and interactive CLI command, so it’s suitable even for developers that are new to server-side Swift.

Tech Stack

Setup

To bootstrap on a fresh Ubuntu VPS, run (as root):

bash <(curl -sSL https://mottzi.codes/deployer/setup.sh)
  1. Installs Swift (via Swiftly).
  2. Configures Nginx reverse proxy
  3. Issues TLS certificates (using Let's encrypt).
  4. Sets up the GitHub webhook and deploy key.
  5. Brings your app online.

Control

You manage Deployer via deployerctl, for example:

sudo deployerctl start  # starts deployer and app 
sudo deployerctl status app
sudo deployerctl stop deployer
sudo deployerctl update # updates deployer itself

I'm interested in your thoughts and feedback. This release is pretty bear bones feature wise. It may have some rough edges, especially the front-end. You are very welcome to contribute, if you choose so. Leave me a star on GitHub if you like this project!

reddit.com
u/Cultural_Rock6281 — 14 days ago