!
No Results Found
## Build an iOS & Android App with CapacitorJS + NuxtJS + TailwindCSS
###
About this course
Using your favorite web tools to build a hybrid native mobile application is a breeze! Combine the power of  with the beauty of , you can use your favorite tools to make an incredibly powerful application. The key to making this work? Using .  allows you to take your existing front end code, package it up and deploy to both the iOS and Android app stores.
In this short course, we will go through initializing NuxtJS with TailwindCSS first. It’s a real quick install, but we have to configure a few settings. After that, we will install CapacitorJS and configure NuxtJS and CapacitorJS to work together. This is the key to making a mobile app a reality! We will also go through adding the Android and iOS platforms. Finally, we will touch on a few features you can add to make your app feel more “native” using both TailwindCSS and NuxtJS.
If you enjoy this course, we do have a  that goes through all of this and so much more! We will actually be building a web and mobile application from API to Frontend using the same codebase.
What you'll learn
* -
  Use NuxtJS to Add Functionality
  Design your app using TailwindCSS
  Create an Android and iOS App
Build better software and get user feedback directly in GitHub, GitLab, and more.
## Table of Contents
Using NuxtJS to Build an iOS and Android App
2 minutes read
Packaging a NuxtJS app for iOS and Android with CapacitorJS
6 minutes read
Using TailwindCSS to Design Your Mobile App
10 minutes read
How to Make NuxtJS Feel Like a Native App
Coming Soon!
Quality tutorials & resources. No BS.\_
Get Server Side Up delivered to your inbox.
We would never share your email. Quality stuff, guaranteed.
© 2025  
Build more with less code. We released a book that will show you how to do it.
Learn how to build web & mobile apps from the same codebase with Nuxt 3. 😱
Share
Tweet
Subscribe
Sign Up
Discuss
Exit Fullscreen
# How to get SSH to work with 1password + Docker Desktop + macOS (within a container)
Jay Rogers
October 11th, 2024
## Background
 and I have been working together on trying to resolve . We learned a lot and I am putting together this guide as initial notes.
## Important concepts to understand
* 1password stores your SSH keys in it’s vault (you don’t keep your keys in `~/.ssh`
* You must follow their guide on 
* Once a key is saved, you use the  to securely load and authorize use of your keys
* **👉 REMEMBER:** Docker Desktop does not run docker natively on your Mac, so they created this `/run/host-services/ssh-auth.sock` that will return a mounted
## Set up
Use these steps to complete set up.
### Generate your SSH key
Follow the 1password docs to . The SSH key should be stored in their vault, not in your `~/.ssh`.
### Enable the 1password SSH Agent
Follow the docs to enable the .
### Where things start to get confusing
When you first enable your agent, you’ll be prompted to add this to your `~/.ssh/config` file.
> **NOTE:** If you mount your SSH directory into your container (which you probably want to), your container will want to reference `~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock` which probably WILL NOT exist without some configuration.
## Understanding `IdentityAgent` vs `SSH_AUTH_SOCK`
In my testing, the `IdentityAgent` wasn’t always required but the 1password documentation talks about this more in their  section on how you can pick and choose.
In this example, we’re assuming you’re following what 1password wants you to do with the SSH config, which adds a little extra work for your container.
We’re assuming you have a `~/.ssh/config` that looks like this on your host:
```
Host *
    # You might not need this line. Read this for more:
    # #working-with-ssh-clients
    IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
## Another layer of confusion: Docker Desktop on macOS
When you’re running Docker Desktop, Docker runs very differently as it would on a Linux machine running the Docker engine. Docker Desktop runs a tiny virtual machine to run the Docker daemon that sits in between your macOS host and the Docker engine. This adds another level of complexity.
## Docker Desktop Doesn’t inherit shell environments by default
One really confusing thing was I was setting all of these configurations and I couldn’t get it to work. It wasn’t until I saw  that explains Docker Desktop is managed by `launchd` on macOS and it will not inherit the shell environment by default.
I had to close Docker Desktop and launch it with:
open -a /Applications/Docker.app/
To get this to work permanently, you need to configure a `.plist` file following the “” in the 1password documentation.
## Exposing the SSH Auth socket with Docker + macOS
Docker Desktop provides a “magic” path to share your SSH Auth Socket at `/run/host-services/ssh-auth.sock`. This means we need to mount this path and set the `$SSH_AUTH_SOCK` variable in the container.
docker run -it --rm \
 \
  # Mount the `.ssh` directory as READONLY
  -v "$HOME/.ssh:/.ssh:ro" \
  # Mount the known_hosts as READ-WRITE
  -v "$HOME/.ssh/known_hosts:/.ssh/known_hosts:rw" \
  # Set the magic auth socket for Docker Desktop
  -v "/run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock" \
  # Set the SSH_AUTH_SOCK variable in the container to point to our magic
  -e "SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock" \
  # Set your image (this is our image with SSH installed)
  docker.io/serversideup/ansible-core:alpine sh
## Where the SSH Config confusion comes in
Now that we have the following:
* ✅ A mounted SSH directory (as read only)
* ✅ A mounted authorized keys file (as read/write)
* ✅ The `/run/host-services/ssh-auth.sock` mounted to `/run/host-services/ssh-auth.sock` in the container
* ✅ The `SSH_AUTH_SOCK` variable set to `/run/host-services/ssh-auth.sock` in the container
* ❌ The ability for Alpine Linux to understand your `~/.ssh/config` file
The problem lies with this part of the config:
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
That does not exist in the Alpine container. As a workaround, we create this :
mkdir -p "$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t"
ln -sf "$SSH_AUTH_SOCK" "$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
This essentially creates the file and we symbolically link it to the Docker Socket, which then links it to your host 🤯
## Testing
You’ll know if everything is working correctly if you run `ssh-add -l` in the container and it comes back with something like:
256 SHA256:4G9mDIDnn1VsLZFSWYMzvsyzF9I4n4HghjKDIeMIKcE SSH Key (ED25519)
## Advanced Usage: Dropping Privileges
If you intend to run an unprivileged user, be sure your user has permissions to access the sockets.
## Support future content
Psst... any earnings that we make off of our book is being reinvested to bringing you more content. If you like what you read, consider getting our book or get sweet perks by becoming a sponsor.
## Written By Jay
I’m a DevOps engineer who accidentally ended up in application & user-experience design. ?? I'm a husband and proud dog-dad who co-founded 521 Dimensions & Server Side Up. I like to having meaningful conversations with people who love building things. Please reach out and say hello!
## Like this? Subscribe
We're privacy advocates. We will never spam you and we only want to send you emails that you actually want to receive. One-click unsubscribes are instantly honored.
Email Address \*
First Name
Get Helpful Tips Via Email
footer
! ./footer
You've enjoyed another post by  (hosted by ).
Follow us on:
If you like our articles, 
We updated our book.
Learn how to build web & mobile apps from the same codebase with Laravel + Nuxt 3 😱
Get sweet perks.
Exclusive access, discounts & more.
 Become a Sponsor
 Share on Facebook
 Subscribe
 Tweet
 Sign Up
!Discuss
# NGINX Unit: Fixing “Value doesn’t exist.”
October 24th, 2023
### Background
We’ve been creating . One of the variations that we’re offering is “nginx-unit”. If you’re not aware,  is a complete alternative to the NGINX web server that you’re probably thinking of. When I was working on providing SSL support, I kept running into the error below.
### My attempt
I followed  and would attempt to upload my certificate to NGINX Unit:
/usr/bin/curl -s -w %{http_code} -X PUT --data-binary @/etc/unit/config.d/self-signed-web.pem --unix-socket /var/run/control.unit.sock 
In my case, my certificate bundle is called `self-signed-web`.
### Error message
The error I kept receiving was:
404: Value doesn't exist.
### The solution
I was compiling NGINX Unit from source and  I need to compile NGINX Unit with OpenSSL support.
### How to resolve
1. Ensure you install OpenSSL before building (`openssl-dev` for Alpine and `libssl-dev` for Debian)
2. Add the `--openssl` flag on your configure command
### Example
Here is my Dockerfile where I am doing this:
RUN NCPU="$(getconf _NPROCESSORS_ONLN)" && \
    CONFIGURE_ARGS="--prefix=/usr \
                    --statedir=/var/lib/unit \
                    --control=unix:/var/run/control.unit.sock \
                    --runstatedir=/var/run \
                    --pid=/var/run/unit.pid \
                    --logdir=/var/log \
                    --log=/dev/stdout \
                    --tmpdir=/var/tmp \
                    --user=www-data \
                    --group=www-data \
                    --openssl" && \
    ./configure $CONFIGURE_ARGS && \
    ./configure php --config=php-config --module=php && \
    make -j $NCPU all && \
    make install
Notice where I added `--openssl` above.
### Long story, short
Be sure you’re compiling NGINX Unit with OpenSSL support. By default, it does not have the API endpoint enabled and will return “Value doesn’t exist.” if you don’t have your options set correctly.
# Adding server configurations within your Laravel App
May 24th, 2023
Is it a good idea to put your server configurations within Laravel? In this video, we cover the benefits and challenges of putting server configurations within your Laravel application using Docker.
## Published By Jay
# Let us help.
We're available for hire. We've been running a consulting agency called  since 2011.
I need help with...
💼 My Entire Project
🙋‍♂️ A Quick Question
Your Name\*
Please enter your name
Email\*
Please enter a valid email address where we can contact you
What can we help you with?\*
* Create an amazing new product 🚀
* Make my existing product even better 💪
* Help with my app maintenance and servers ⚙️
* Something else
Please select what we can help you with
Can you tell us a little more information about what we can help with?
What's your budget?
* Less than $25,000
* $25,000 - $50,000
* $50,000 - $75,000
* $75,000 - $100,000
* To be determined
Can you prove you're human? (sorry 😆 )
Please confirm that you are indeed human
There are errors on the page. If you are having issues, contact us on 
UX Design & DevOps
Dan Pastori
Full-stack Engineer