VOOZH about

URL: https://thenewstack.io/deploy-a-full-stack-application-with-portainer/

⇱ Deploy a Full-Stack Application with Portainer - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2022-04-09 03:00:00
Deploy a Full-Stack Application with Portainer
tutorial,
Containers

Deploy a Full-Stack Application with Portainer

How to set up a full-stack application using Portainer.
Apr 9th, 2022 3:00am by Jack Wallen
👁 Featued image for: Deploy a Full-Stack Application with Portainer

The Portainer container management software should be considered a must-have for container developers looking to enjoy the most efficient path to the deployment and management of their containerized applications. Portainer allows you to manage registries, images, networks, events, volumes, hosts, environments, logs, even full-stack applications.

That’s right, this web-based GUI isn’t limited to only single app deployments. With Portainer you can create a full-stack application and even assign that stack to teams.

And that’s exactly what I’m going to show you today: How to create a team, add users to the team, and then deploy a sample full-stack app that can be managed by the newly-created team.

To make this work, you’ll need a running instance of Portainer. And that’s it. You’re ready to make this work.

Adding Users to Portainer

The first thing we’ll do is add a user to Portainer (that will then be added to a team). To add the user, log into Portainer and click Users from the left navigation. In the resulting window (Figure 1), type the name of the new user and type/confirm a password for the user.

👁 Figure 1: We're adding a new user to Portainer.

Figure 1: We’re adding a new user to Portainer.

Since we’ve not added a team yet, don’t bother with the Add to team(s) drop-down and, instead, just click Create user.

Adding a Team to Portainer

After you’ve created the user, click on Teams in the left navigation. In the new window (Figure 2), type a name for the new team and then, from the team leader drop-down, select a user that will serve as the team leader.

👁 Figure 2: Creating a new team for Portainer.

Figure 2: Creating a new team for Portainer.

Click Create team to save the new team. To then add more members to the team, click the name of the team under the Teams section. In the resulting page (Figure 3), click Add associated with all of the users you want to add to the team.

👁 Figure 3: Adding users to our newly-created team.

Figure 3: Adding users to our newly-created team.

Deploying the Full-stack App

Okay, we now have users and teams added. It’s time to deploy that full-stack application. I’ve borrowed a sample full-stack app from this DockerHub repository which houses a number of really great samples you can use for various development and testing projects. You’ll find samples for deployments such as a voting app (the sample I’ll be demonstrating), a single container deployment, a simple web app, and even a Docker Swarm visualizer. This is a great way to learn how to work with everything from simple to complex deployments.

Back at the Portainer interface, click on Stacks in the left navigation. On that page (Figure 4), click Add stack.

👁 Image

Figure 4: The Stacks listing page in Portainer.

In the next window (Figure 5), give the stack a name (in all lowercase).

👁 Figure 5: The Stack creation page in Portainer.

Figure 5: The Stack creation page in Portainer.

You’ll want to select web editor (as we’re going to copy/paste our docker-compose file from the sample). If you’ve already crafted your full-stack application on your local machine, you can click Upload to add the docker-compose file to Portainer. If, however, you use a Git repository, click that button and then connect Portainer to the GitHub repository.

Copy and paste the contents of the full-stack docker-compose file into the web editor. Since our sample already defines the environment variables, we don’t need to add them. However, if you’re working with your own custom docker-compose file that requires you to add environment variables, click Add an environment variable (below the web editor) and then add the name and value (Figure 6).

👁 Figure 6: Adding environment variables for a full-stack application in Portainer.

Figure 6: Adding environment variables for a full-stack application in Portainer.

Scroll to the bottom of the page and click Restricted. This is where we can now give our newly-created team access to the stack. From the Authorized teams drop-down (Figure 7), select the team we just created. If you want to also give authorization to individual users, you can do that from the Authorized users drop-down.

👁 Figure 7: Giving access to teams and users for our new stack.

Figure 7: Giving access to teams and users for our new stack.

Once you’ve taken care of everything, the Deploy stack button should become available. Click that and the Portainer will begin the process of deployment. Depending on how complicated your stack is, the deployment can take some time.

When the deployment finishes, you can then click on the new stack to see all of the constituent parts running (Figure 8).

👁 Figure 8: Our full-stack application is now running.

Figure 8: Our full-stack application is now running.

This is also where you can manage the stack (starting, stopping, killing, etc.). It’s also important to point out that since our sample was created outside of Portainer, we won’t have as much control over it. This illustrates the fact that you can use Portainer for every step of the full-stack deployment. You can create images and house them in the local registry, create volumes, and networks to apply to the stack, and more.

And that’s all there is to deploying a full-stack application using the Portainer web-based GUI. I highly recommend this platform for your container development, as it will make it far more efficient and collaborative.

TRENDING STORIES
Jack Wallen is what happens when a Gen Xer mind-melds with present-day snark. Jack is a seeker of truth and a writer of words with a quantum mechanical pencil and a disjointed beat of sound and soul. Although he resides...
Read more from Jack Wallen
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Docker.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.