Jump to content

Search the Community

Showing results for tags 'hacktoberfest'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • General Discussion
    • Artificial Intelligence
    • DevOpsForum News
  • DevOps & SRE
    • DevOps & SRE General Discussion
    • Databases, Data Engineering & Data Science
    • Development & Programming
    • CI/CD, GitOps, Orchestration & Scheduling
    • Docker, Containers, Microservices, Serverless & Virtualization
    • Infrastructure-as-Code
    • Kubernetes & Container Orchestration
    • Linux
    • Logging, Monitoring & Observability
    • Security, Governance, Risk & Compliance
  • Cloud Providers
    • Amazon Web Services
    • Google Cloud Platform
    • Microsoft Azure

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


LinkedIn Profile URL


About Me


Cloud Platforms


Cloud Experience


Development Experience


Current Role


Skills


Certifications


Favourite Tools


Interests

Found 10 results

  1. With today’s Q4 2023 data release, the GitHub Innovation Graph now offers four full years of data on eight metrics–Git pushes, repositories, developers, organizations, programming languages, licenses, topics, and economy collaborators. We’ve also made some clarifying updates in response to community feedback we’ve heard since we launched. But first, let’s briefly bask in the glory of having four full years of quarterly data to explore by taking a quick look at some of the seasonal patterns that show up in the data. Long-time visitors of the GitHub Innovation Graph will, of course, remember that the “hacktoberfest” topic prominently exhibits seasonal variation: Rank of topics globally With the benefit of another full year of data, we’d like to highlight another popular cyclical developer pastime that might have flown under the radar for those who haven’t explored the underlying dataset files, as its lower ranking prevents it from appearing in our site’s summary charts: Advent of Code. Pushers and rank for the “advent-of-code” topic Dotted lines indicate where there are gaps between quarterly data points due to the activity not meeting our minimum threshold for reporting. Advent of Code is an annual event founded and run by Eric Wastl, where participants solve daily coding challenges from December 1 to December 25. Often, developers participate in Advent of Code as a reason to try learning a language they’re less familiar with, sometimes with the encouragement of developer advocate programs. We can see this trend emerge in the following plots based on the Innovation Graph’s programming languages dataset: Pushers and rank for the COBOL programming language In case you missed it, these are the developers who, with the help of AI, will save us from the next financial crisis. Pushers and rank for the Julia programming language Pushers and rank for the ABAP programming language Pushers and rank for the Elm programming language Pushers and rank for the Erlang programming language Pushers and rank for the Processing programming language Pushers and rank for the Brainf*ck programming language Pushers and rank for LOLCODE programming language Dotted lines indicate where there are gaps between quarterly data points due to the activity not meeting our minimum threshold for reporting. Sometimes, it’s also interesting to see when cycles are broken, which we’re seeing with the steady rise of documentation: Global ranking of the “documentation” topic The seasonal variation in the “documentation” topic from Q1 2020 through Q4 2022 might be related to Google Season of Docs, a program to help open source projects with documentation, which has been operating since at least 2019. However, we didn’t see the usual cyclical dip of the “documentation” topic during 2023, which might be explained by the release of chat-based generative AI interfaces like ChatGPT in November 2022 and several similar products shortly afterwards, including GitHub Copilot Chat in March 2023. While we recognize that it’s not a panacea, perhaps generative AI technologies are helping to reduce the friction around writing documentation to enable maintainers and contributors to update project documentation more widely and frequently. Programming languages and GitHub profile README configuration topics are now excluded from the Topics bump charts In terms of changes to the graph’s functionality, the Topics bump charts on the global metric page and individual economy pages no longer display programming languages or topics related to GitHub profile README configuration (“config” and “github-config”). As you can tell from the preceding sentence and heading, we have no qualms against repeating largely the same information multiple times. However, our repetition in including programming language-related topics in the Topics bump charts (despite the Innovation Graph also having dedicated Programming Languages bump charts) had the unfortunate effect of taking up so much space in the chart that it prevented users from noticing interesting movements of other topics (including those of advent-of-code!). Additionally, we figured that few readers outside of the GitHub teams responsible for the feature would be interested in the adoption of GitHub profile README configuration files, so we’ve excluded those from rendering, too. Before: After: NOASSERTION changed to “Other” in the Licenses bump charts As noted in feedback we received shortly after the launch of the Innovation Graph, the NOASSERTION classification is likely confusing to most Innovation Graph visitors, so we’ve updated the rendering on the bump charts to display “Other” instead. Before: After: Clarification: the repositories, developers, and organizations metrics include “inactive” entities We’ve also added an explanatory note for the repositories, developers, and organizations metrics to highlight that these counts include inactive entities (for example, not just users who were active during a given quarter). So, there you have it. We’ve now got four full years of data to explore. Countless more stories no doubt abound within the data, so don’t wait–spin up a Jupyter Notebook via GitHub Codespaces, ask Microsoft 365 Copilot in Excel, or use any of the vast array of open source data analysis tools out there to explore the files, and we can’t wait to see what you discover. The post Explore the seasons of software development with four full years of data appeared first on The GitHub Blog. View the full article
  2. Hacktoberfest has wrapped up, GitHub Universe has come to a close, and our community has been super hard at work. All the while people have been enjoying turkey and expressing gratitude for those around them. In this edition, we’re thankful to the open source community and all the awesome projects shipped over the past two months. Everything from weekend projects, to cool artificial intelligence (AI) art, to world changing technology. This publication of the Release Radar covers a few projects that shipped major version updates this October and November. OctoArt 1.0 AI artwork has taken the world by storm, from beautiful backgrounds, to unique avatars, movie-benders, and more. Now you can use AI to generate stunning artwork featuring the GitHub logo. OctoArt calls users to write a prompt and have the AI generate a gorgeous picture for them. Try it out for yourself, and share your results on social media. CLI for Microsoft 365 7.0 Having been featured in the November 2022 Release Radar, CLI for Microsoft 365 is back. A year on, there are significant changes to the CLI. The CLI is now interactive by default, meaning users will be prompted for any missing required information. The code base has been refactored and several commands have been renamed to be more consistent with other CLI tools. If you want to upgrade, check out the migration guide, and read up on all the changes in the blog post. The docs have also been updated, migrating over to Docusaurus, and using AI-based searching to give you faster, more accurate answers. reNgine 2.0 Everyone would praise a streamlined process right? What if I said you can streamline your reconnaissance process for security professionals, penetration testers, and bug bounty hunters? reNgine will do just that. It’s a web application with configurable engines, data correlation capabilities, continuous monitoring, database-backed reconnaissance data, GPT powered reports, and an intuitive user interface. Version 2.0 includes the power of OpenAI’s GPT for report generation and attack surface generation. There’s also the ability to assign roles and permissions, and URL gathering is more efficient. Dig deeper into these, and all the changes in the release notes. Inter 4.0 There’s been a lot of talk recently about accessibility. It affects everyone, and we all benefit from making accessible applications. Inter is a typeface crafted and designed for computer screens. The font features tall height to aid in readability of mixed-case and lower-case text. The latest update is an accumulation of over two years work and includes the design of thousands of glyphs. There are six additional display designs and several new OpenType features. Download the font directly from the repository and start using it for better readability. Rowy 3.0 We’ve featured Rowy in the September 2021 Release Radar. Since then, the team has worked hard to update Rowy. There have been over a hundred updates, and version 3.0 is the biggest release yet. It includes BuildShip, a visual API scheduled job and cloud functions builder. There are also new features, enhancements, and the usual bug fixes. Read all the changes in the Rowy release notes. https://github.blog/wp-content/uploads/2023/12/157185793-f67511cd-7b7b-4229-9589-d7defbf7a63f.mp4 raylib 5.0 Are you a programmer and a gamer? Then you’ll love raylib. It’s a library for video game programming. Raylib is lightweight and supported on multiple platforms. The newest version brings the biggest redesign raylib has ever seen, offering better performance and simplifying the addition of new platforms. There’s a whole new back end support for SDL and Nintendo Switch, new APIs, support for 16-bit HDR images and textures, and lots more. Check out the entire Changelog for all the juicy details. Congratulations are also in store for the team as this year is their 10th anniversary . Simple Data Analysis 2.0 If you’re a computational journalist, check out Simple Data Analysis. It’s a JavaScript library for data analysis. No longer switch between Python, R, and JavaScript. Instead use this library to bring all the best parts together. The new version has been completely rewritten to increase the library’s performance. Under the hood, it now uses DuckDB, meaning it runs six times faster! Check out the website and see how you could utilise this library. Published simple-data-analysis@v2 Thanks to @duckdb's incredible work, it's now crazy fast to crunch data in JavaScript. Chart below shows how long it took to compute the avg temp per decade for 700+ cities from a 1.7 GB file! Go check the repo! https://t.co/F9mYruQEQo pic.twitter.com/raZ1cSSoRC — Naël Shiab (@NaelShiab) November 30, 2023 Home Assistance Core 2023.12 We’ve spoken about releases before, noting not every project uses semantic versioning by number. Some use other conventions. One such project is Home Assistant, where they ship a major release each month and number it by the year and month. So here we have the 2023 December edition, posted in November for the month of December. Yes it can be a bit confusing, yet there are some super cool updates and we wanted to highlight this version. The login page has been redesigned, there’s a new thermostat card, more dashboards, new integrations, and so much more. Check out the blog post for all the changes, including integrations that are no longer available. Release Radar October-November Well, that’s all for this edition. We’ll be back next week with a special Christmas edition. Don’t forget to read more about what the community is up to on GitHub in our State of the Octoverse Report. This report covers everything from the most popular languages, fastest growing communities, artificial intelligence, and more. Thank you to everyone who submitted a project to be featured. We loved reading all about the great things you’re all working on. Whether your project was featured here or not, congratulations to everyone who shipped a new release. Regardless of it you shipped your first your project’s first version, or you launched 7.0. If you missed our last Release Radar, check out the amazing open source projects that released major version projects in August and September. We love featuring projects submitted by the community. If you’e working on an open source project and shipping a major version soon, we’d love to hear from you. Check out the Release Radar repository, and submit your project to be featured in the GitHub Release Radar. The post Release Radar · Thanksgiving 2023 Edition appeared first on The GitHub Blog. View the full article
  3. As Hacktoberfest comes to a close, you still have a day or so left to complete and submit your pull requests. If you’re struggling to think of projects to contribute to, our picks below might help you. This edition of the Release Radar covers a few projects that shipped major version updates this August and September. Check them out and get those pull requests in. Front Matter 9.0 Experience the best of both worlds with Front Matter. We’ve featured Front Matter in the January 2022 and March 2022 Release Radars. Front Matter is a CMS that runs within Visual Studio Code, GitPod, and many more, and it just got better. It’s now available in English, German, and Japanese. Plus there’s full support for Visual Studio Code as it moves out of experimental mode. Support for Astro’s new assets location has been added, and there’s more UI extensibility options with the Front Matter extensibility library. Start creating great content, or check out the Front Matter blog for all the updates. We release version 9 of #FrontMatter #CMS. A couple of highlights: – Front Matter is now available in German and Japanese. – #VSCode theme support is now available in the stable version. – New content relationship field – @astrodotbuild assets supporthttps://t.co/BcGXuEbvHO pic.twitter.com/0qmbbBOYQQ — Front Matter CMS (@frontmattercms) August 21, 2023 Astro 3.0 Speaking of Astro, version three just dropped! Astro is a web framework designed to scale. It builds fast and uses dynamic server APIs. It features lightweight outputs, yet a powerful developer experience. Version 3.0 includes image optimisation, faster rendering performance, new ways to connect to your hosting platform, fast refresh support for React and Preact, and even cleaner HTML. Read the blog for all the details on this latest update. what a time to be alive.https://t.co/KoCkHHQtQu pic.twitter.com/1eMZIg6lVK — Astro (@astrodotbuild) September 30, 2023 Framework x 4.0 With so many frameworks floating around the internet, it can be hard to choose just one. Framework x is all about substance over style. It’s like a well-oiled machine for API development, powered by Node.js and Express. No flashy gimmicks, just pure development bliss. Check out Framework x and if you want make suggestions or changes, open an issue or take an issue for Hacktoberfest. Drifty 2.0 Do you have trouble downloading files? Look no further than Drifty, an interactive file downloader system. You can download any file from a link provided with auto-filename retrieval capability. Version 2.0 brings a new graphics interface mode, support for downloading Instagram videos, and availability on Windows, macOs, and Linux via msi, exe, pkg, and general executables. Check out the repo, and if this is something you’re likely to use, think about submitting a PR. Drifty v2.0.0 released ! It adds GUI support to Drifty along with Instagram video download support and native executables for all three major OS. Thanks to all the contributors! Download Drifty now – https://t.co/dVuAKntQI1! pic.twitter.com/jjLk8Mbd3S — Saptarshi Sarkar (@SSarkar2007) September 21, 2023 OpenAPI Generator 7.0 There’s a lot of buzz around generative artificial intelligence (AI) and open source APIs. OpenAPI Generator is one such project. It allows for the generation of API client libraries, server stubs, and documentation. Release 7.0 includes lots of enhancements and bug fixes including breaking changes without fallback. These include the addition of a Zapier and Sttp4 client generators, support for additional properties, security fixes, and more. Read all the changes in the release notes and see how you could use this generator. Just published #OpenAPI #Generator v7.0.0 (major release with breaking changes) with 500+ PRs and 3 new generators from the awesome community. Please give it a try and let us know your feedback by opening an issue. Have a nice weekend! Release note: https://t.co/MaeYr7jP4W — OpenAPI Generator (@oas_generator) August 25, 2023 OpenLayers 8.0 A little different to OpenAPI Generator, OpenLayers, is a high high-performance, feature-packed library for creating interactive maps on the web. Version 8.0 brings several API simplifications, some of which aren’t backward compatible, so make sure you update to the latest version. The team have put together a document on upgrading to the latest edition, plus which features aren’t backward compatible. Other changes include support for new layers, the detection of static images on load, and more. Check out all the changes in the release notes. GraphQL API Voyager 2.0 If maps weren’t enough, we have graphs too! GraphQL API Voyager turns any GraphQL API into an interactive graph. The latest release adds a bunch of cool new features, some bug fixes, and the removal of legacy features to make the whole system run smoother. Check out all the updates in the changelog or head over to the website to play with a demo. Livewire 3.0 No not Limewire, Livewire. It’s a full stack framework for Laravel, designed to build dynamic UI components. There are a tonne of new features with the latest version including lots of fixes, enhancements to the docs, upgraded command improvements, new configuration options and more. The new release requires PHP 8.1 or higher, and the team have even built an automated upgrade tool to update to the latest version of Livewire. Check out migration guide and remember to update. DiceBear 7.0 We featured DiceBear in our December 2022/January 2023 Release Radar. During the festive season, DiceBear 5.0 came out. In less than a year they have dropped two major versions. Changes include a new avatar style called “rings”, an HTTP API endpoint, and a bunch of bug fixes. Check out the full avatar library on the DiceBear website and dig into all the changes in the release notes. Release Radar August-September Well, that’s all for this special Hacktoberfest edition. Hopefully you’ve found some inspiration to make those last few pull requests and complete your Hacktoberfest journey. Thank you to everyone who submitted a project to be featured. We loved reading all about the great things you’re all working on. Whether your project was featured here or not, congratulations to everyone who shipped a new release. Regardless of it you shipped your first your project’s first version, or you launched 8.0. If you missed our last Release Radar, check out the amazing open source projects that released major version projects this in July. We love featuring projects submitted by the community. If you are working on an open source project and shipping a major version soon, we’d love to hear from you. Check out the Release Radar repository, and submit your project to be featured in the GitHub Release Radar. The post Release Radar · Hacktoberfest 2023 Edition appeared first on The GitHub Blog. View the full article
  4. This article is a result of open source collaboration. During Hacktoberfest 2022, the project was announced in the Black Forest Docker meetup group and received contributions from members of the meetup group and other Hacktoberfest contributors. Almost all of the code in the GitHub repo was written by Stefan Ruf, Himanshu Kandpal, and Sreekesh Iyer. The MEAN stack is a fast-growing, open source JavaScript stack used to develop web applications. MEAN is a diverse collection of robust technologies — MongoDB, Express.js, Angular, and Node.js — for developing scalable web applications. The stack is a popular choice for web developers as it allows them to work with a single language throughout the development process and it also provides a lot of flexibility and scalability. Node, Express, and Angular even claimed top spots as popular frameworks or technologies in Stack Overflow’s 2022 Developer Survey. In this article, we’ll describe how the MEAN stack works using an Event Posting app as an example. How does the MEAN stack work? MEAN consists of the following four components: MongoDB — A NoSQL database ExpressJS — A backend web-application framework for NodeJS Angular — A JavaScript-based front-end web development framework for building dynamic, single-page web applications NodeJS — A JavaScript runtime environment that enables running JavaScript code outside the browser, among other things Here’s a brief overview of how the different components might work together: A user interacts with the frontend, via the web browser, which is built with Angular components. The backend server delivers frontend content, via ExpressJS running atop NodeJS. Data is fetched from the MongoDB database before it returns to the frontend. Here, your application displays it for the user. Any interaction that causes a data-change request is sent to the Node-based Express server. Why is the MEAN stack so popular? The MEAN stack is often used to build full-stack, JavaScript web applications, where the same language is used for both the client-side and server-side of the application. This approach can make development more efficient and consistent and make it easier for developers to work on both the frontend and backend of the application. The MEAN stack is popular for a few reasons, including the following: Easy learning curve — If you’re familiar with JavaScript and JSON, then it’s easy to get started. MEAN’s structure lets you easily build a three-tier architecture (frontend, backend, database) with just JavaScript and JSON. Model View Architecture — MEAN supports the Model-view-controller architecture, supporting a smooth and seamless development process. Reduces context switching — Because MEAN uses JavaScript for both frontend and backend development, developers don’t need to worry about switching languages. This capability boosts development efficiency. Open source and active community support — The MEAN stack is purely open source. All developers can build robust web applications. Its frameworks improve the coding efficiency and promote faster app development. Running the Event Posting app Here are the key components of the Event Posting app: MongoDB Express.js Angular Node.js Docker Desktop Deploying the Event Posting app is a fast process. To start, you’ll clone the repository, set up the client and backend, then bring up the application. Then, complete the following steps: git clone https://github.com/dockersamples/events cd events/backend npm install npm run dev General flow of the Event Posting app The flow of information through the Event Posting app is illustrated in Figure 1 and described in the following steps. Figure 1: General flow of the Event Posting app. A user visits the event posting app’s website on their browser. AngularJS, the frontend framework, retrieves the necessary HTML, CSS, and JavaScript files from the server and renders the initial view of the website. When the user wants to view a list of events or create a new event, AngularJS sends an HTTP request to the backend server. Express.js, the backend web framework, receives the request and processes it. This step includes interacting with the MongoDB database to retrieve or store data and providing an API for the frontend to access the data. The back-end server sends a response to the frontend, which AngularJS receives and uses to update the view. When a user creates a new event, AngularJS sends a POST request to the backend server, which Express.js receives and processes. Express.js stores the new event in the MongoDB database. The backend server sends a confirmation response to the front-end, which AngularJS receives and uses to update the view and display the new event. Node.js, the JavaScript runtime, handles the server-side logic for the application and allows for real-time updates. This includes running the Express.js server, handling real-time updates using WebSockets, and handling any other server-side tasks. You can then access Event Posting at http://localhost:80 in your browser (Figure 2): Figure 2: Add a new event. Select Add New Event to add the details (Figure 3). Figure 3: Add event details. Save the event details to see the final results (Figure 4). Figure 4: Display upcoming events. Why containerize the MEAN stack? Containerizing the MEAN stack allows for a consistent, portable, and easily scalable environment for the application, as well as improved security and ease of deployment. Containerizing the MEAN stack has several benefits, such as: Consistency: Containerization ensures that the environment for the application is consistent across different development, testing, and production environments. This approach eliminates issues that can arise from differences in the environment, such as different versions of dependencies or configurations. Portability: Containers are designed to be portable, which means that they can be easily moved between different environments. This capability makes it easy to deploy the MEAN stack application to different environments, such as on-premises or in the cloud. Isolation: Containers provide a level of isolation between the application and the host environment. Thus, the application has access only to the resources it needs and does not interfere with other applications running on the same host. Scalability: Containers can be easily scaled up or down depending on the needs of the application, resulting in more efficient use of resources and better performance. Containerizing your Event Posting app Docker helps you containerize your MEAN Stack — letting you bundle your complete Event Posting application, runtime, configuration, and operating system-level dependencies. The container then includes everything needed to ship a cross-platform, multi-architecture web application. We’ll explore how to run this app within a Docker container using Docker Official Images. To begin, you’ll need to download Docker Desktop and complete the installation process. This step includes the Docker CLI, Docker Compose, and a user-friendly management UI, which will each be useful later on. Docker uses a Dockerfile to create each image’s layers. Each layer stores important changes stemming from your base image’s standard configuration. Next, we’ll create an empty Dockerfile in the root of our project repository. Containerizing your Angular frontend We’ll build a multi-stage Dockerfile to containerize our Angular frontend. A Dockerfile is a plain-text file that contains instructions for assembling a Docker container image. When Docker builds our image via the docker build command, it reads these instructions, executes them, and creates a final image. With multi-stage builds, a Docker build can use one base image for compilation, packaging, and unit testing. A separate image holds the application’s runtime. This setup makes the final image more secure and shrinks its footprint (because it doesn’t contain development or debugging tools). Let’s walk through the process of creating a Dockerfile for our application. First, create the following empty file with the name Dockerfile in the root of your frontend app. touch Dockerfile Then you’ll need to define your base image in the Dockerfile file. Here we’ve chosen the stable LTS version of the Node Docker Official Image. This image comes with every tool and package needed to run a Node.js application: FROM node:lts-alpine AS build Next, let’s create a directory to house our image’s application code. This acts as the working directory for your application: WORKDIR /usr/src/app The following COPY instruction copies the package.json and src file from the host machine to the container image. The COPY command takes two parameters. The first tells Docker which file(s) you’d like to copy into the image. The second tells Docker where you want those files to be copied. We’ll copy everything into our working directory called /usr/src/app. COPY package.json . COPY package-lock.json . RUN npm ci Next, we need to add our source code into the image. We’ll use the COPY command just like we previously did with our package.json file. Note: It’s common practice to copy the package.json file separately from the application code when building a Docker image. This step allows Docker to cache the node_modules layer separately from the application code layer, which can significantly speed up the Docker build process and improve the development workflow. COPY . . Then, use npm run build to run the build script from package.json: RUN npm run build In the next step, we need to specify the second stage of the build that uses an Nginx image as its base and copies the nginx.conf file to the /etc/nginx directory. It also copies the compiled TypeScript code from the build stage to the /usr/share/nginx/html directory. FROM nginx:stable-alpine COPY nginx.conf /etc/nginx/nginx.conf COPY --from=build /usr/src/app/dist/events /usr/share/nginx/html Finally, the EXPOSE instruction tells Docker which port the container listens on at runtime. You can specify whether the port listens on TCP or UDP. The default is TCP if the protocol isn’t specified. EXPOSE 80 Here is our complete Dockerfile: # Builder container to compile typescript FROM node:lts-alpine AS build WORKDIR /usr/src/app # Install dependencies COPY package.json . COPY package-lock.json . RUN npm ci # Copy the application source COPY . . # Build typescript RUN npm run build FROM nginx:stable-alpine COPY nginx.conf /etc/nginx/nginx.conf COPY --from=build /usr/src/app/dist/events /usr/share/nginx/html EXPOSE 80 Now, let’s build our image. We’ll run the docker build command as above, but with the -f Dockerfile flag. The -f flag specifies your Dockerfile name. The “.” command will use the current directory as the build context and read a Dockerfile from stdin. The -t tags the resulting image. docker build . -f Dockerfile -t events-fe:1 Containerizing your Node.js backend Let’s walk through the process of creating a Dockerfile for our backend as the next step. First, create the following empty Dockerfile in the root of your backend Node app: # Builder container to compile typescript FROM node:lts-alpine AS build WORKDIR /usr/src/app # Install dependencies COPY package.json . COPY package-lock.json . RUN npm ci # Copy the application source COPY . . # Build typescript RUN npm run build FROM node:lts-alpine WORKDIR /app COPY package.json . COPY package-lock.json . COPY .env.production .env RUN npm ci --production COPY --from=build /usr/src/app/dist /app EXPOSE 8000 CMD [ "node", "src/index.js"] This Dockerfile is useful for building and running TypeScript applications in a containerized environment, allowing developers to package and distribute their applications more easily. The first stage of the build process, named build, is based on the official Node.js LTS Alpine Docker image. It sets the working directory to /usr/src/app and copies the package.json and package-lock.json files to install dependencies with the npm ci command. It then copies the entire application source code and builds TypeScript with the npm run build command. The second stage of the build process, named production, also uses the official Node.js LTS Alpine Docker image. It sets the working directory to /app and copies the package.json, package-lock.json, and .env.production files. It then installs only production dependencies with npm ci --production command, and copies the output of the previous stage, the compiled TypeScript code, from /usr/src/app/dist to /app. Finally, it exposes port 8000 and runs the command node src/index.js when the container is started. Defining services using a Compose file Here’s how our services appear within a Docker Compose file: services: frontend: build: context: "./frontend/events" dockerfile: "./Dockerfile" networks: - events_net backend: build: context: "./backend" dockerfile: "./Dockerfile" networks: - events_net db: image: mongo:latest ports: - 27017:27017 networks: - events_net proxy: image: nginx:stable-alpine environment: - NGINX_ENVSUBST_TEMPLATE_SUFFIX=.conf - NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx volumes: - ${PWD}/nginx.conf:/etc/nginx/templates/nginx.conf.conf ports: - 80:80 networks: - events_net networks: events_net: Your example application has the following parts: Four services backed by Docker images: Your Angular frontend, Node.js backend, MongoDB database, and Nginx as a proxy server The frontend and backend services are built from Dockerfiles located in ./frontend/events and ./backend directories, respectively. Both services are attached to a network called events_net. The db service is based on the latest version of the MongoDB Docker image and exposes port 27017. It is attached to the same events_net network as the frontend and backend services. The proxy service is based on the stable-alpine version of the Nginx Docker image. It has two environment variables defined, NGINX_ENVSUBST_TEMPLATE_SUFFIX and NGINX_ENVSUBST_OUTPUT_DIR, that enable environment variable substitution in Nginx configuration files. The proxy service also has a volume defined that maps the local nginx.conf file to /etc/nginx/templates/nginx.conf.conf in the container. Finally, it exposes port 80 and is attached to the events_net network. The events_net network is defined at the end of the file, and all services are attached to it. This setup enables communication between the containers using their service names as hostnames. You can clone the repository or download the docker-compose.yml file directly from Dockersamples on GitHub. Bringing up the container services You can start the MEAN application stack by running the following command: docker compose up -d Next, use the docker compose ps command to confirm that your stack is running properly. Your terminal will produce the following output: $ docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS events-backend-1 events-backend "docker-entrypoint.s…" backend 29 minutes ago Up 29 minutes 8000/tcp events-db-1 mongo:latest "docker-entrypoint.s…" db 5 seconds ago Up 4 seconds 0.0.0.0:27017->27017/tcp events-frontend-1 events-frontend "/docker-entrypoint.…" frontend 29 minutes ago Up 29 minutes 80/tcp events-proxy-1 nginx:stable-alpine "/docker-entrypoint.…" proxy 29 minutes ago Up 29 minutes 0.0.0.0:80->80/tcp Viewing the containers via Docker Dashboard You can also leverage the Docker Dashboard to view your container’s ID and easily access or manage your application (Figure 5): Figure 5: Viewing running containers in Docker Dashboard. Conclusion Congratulations! You’ve successfully learned how to containerize a MEAN-backed Event Posting application with Docker. With a single YAML file, we’ve demonstrated how Docker Compose helps you easily build and deploy your MEAN stack in seconds. With just a few extra steps, you can apply this tutorial while building applications with even greater complexity. Happy developing! View the full article
  5. Going “Remocal” with Docker, Telepresence, & Kubernetes Gone are the days of locally running and testing entire applications on your laptop before pushing to production. Join us with Ambassador on a tour of coding, testing, and shipping microservices using remote-to-local tools and techniques. Register Now News you can use and monthly highlights: How did I shrink my NextJS Docker image by 90% – Learn how to improve the development and production lifecycle by optimizing your NextJS Docker images. How To Create A Production Image For A Node.js + TypeScript App Using Docker Multi-Stage Builds – Keep your NodeJS Docker container images slim by using multistage builds to create TypeScript-based apps. Oracle SQLDeveloper Docker Extension – Discover the Extension that lets you run the Oracle SQLDeveloper Web tool and connect with Oracle XE 21c or other RDBMS instances. React and .NET Core 6.0 Sample Project with Docker – Learn how to use CRUD operations in ASP.NET Core 6.0 WEP API with the Entity Framework Core Code First approach. Deploying FusionAuth + Docker on Fly.io – Find the perfect guide to self-hosting FusionAuth for timesaving authentication and access management using Docker. How to containerize your ASP.NET Core application and SQL Server with Docker – Learn how to deploy a Dockerized .NET Web API application and connect it to a SQL Server container. Introducing Hardened Docker Desktop Looking for a better, more secure way to manage your dev environments? Our new security model, Hardened Docker Desktop, helps you cover all the bases! Learn More State of Application Development Survey We’re looking for feedback from developers like you. Take our survey for a chance to win prizes! Take the Survey Docker+Wasm Tech Preview At KubeCon North America, we announced the Docker+Wasm Technical Preview. This lighter, faster alternative to linux containers lets developers build Wasm apps with the same ease as container apps. Learn More The latest tips and tricks from the community: Creating Kubernetes Extensions in Docker Desktop Simplified Deployment of Local Container Images to OpenShift 9 Tips for Containerizing Your Node.js Application Adding Docker Compose Logs to Your CI Pipeline Is Worth It Live Reload in Rust with Cargo Watch and Docker Enabling Microservices using Docker and Docker-Compose October Extensions Roundup: CI on Your Laptop and Hacktoberfest! Find out what’s new in the Docker Extension Marketplace! Get CI on your laptop, find new tools from the open source community, and use categories to find the perfect Extension. Learn More Educational content created by the experts at Docker: Security Advisory: CVE-2022-42889 “Text4Shell” How to Use the Postgres Docker Official Image How to Fix and Debug Docker Containers Like a Superhero Developer Engagement in the Remote Work Era with RedMonk and Miva Docker Captain: Sebastien Flochlay Sebastien discovered Docker back in 2016 and has been a huge fan ever since. Find out why his favorite command is docker run and the importance of writing Dockerfiles — the right way. Meet the Captain Subscribe to our newsletter to get the latest news, blogs, tips, how-to guides, best practices, and more from Docker experts sent directly in your inbox once a month. View the full article
  6. This month, we’ve got some new extensions so good, they’re scary! Docker Extensions build new functionality into Docker Desktop, extend its existing capabilities, and allow you to discover and integrate additional tools that you’re already using with Docker. Let’s take a look at some of the recent ones. And if you’d like to see everything available, check out our full Extensions Marketplace! Drone CI Do you need to build and test a container friendly pipeline before sharing with your team? Or do you need the ability to perform continuous integration (CI) or debug failing tests on your laptop? If the answer is yes, the Drone CI extension can help you! With the extension, you can: Import Drone CI pipelines and run them locally Run specific steps of a pipeline Monitor execution results Inspect logs See it in action in the gif below! Open Source Docker Extensions This month, Docker celebrated Hacktoberfest, a month-long celebration of open-source projects, their maintainers, and the entire community of contributors. During this event, Docker worked with the community to contribute to our open source Docker Extensions — and encourage developers to create their own open source extensions. In fact, here’s a list of open source extensions available in our Marketplace: DDosify – High performance, open-source, and simple load testing tool written in Golang. Drone CI – Run Continuous Integration & Delivery Pipeline (CI/CD) from within Docker Desktop. GOSH – Build your decentralized and secure software supply chain with Docker and Git Open Source Hodler. JFrog – Scan your Docker images for vulnerabilities with JFrog Xray. Lacework Scanner – Enable developers with the insights to securely build their containers and minimize the vulnerabilities before the images go into production. Meshery – Design and operate your cloud native deployments with the Meshery extensible management plane. Mini Cluster – Run a local Apache Mesos cluster. Okteto – Remote development for Docker Compose. Open Source management tool for PostgreSQL – Use an embedded PGAdmin4 Open Source management tool for PostgreSQL. Oracle SQLcl client tool – Use an embedded version of Oracle SQLcl client tool. RedHat OpenShift – Easily deploy and test applications on to OpenShift. Volumes Backup & Share – Backup, clone, restore and share Docker volumes effortlessly. Hacktoberfest generated a lot of great extensions from our community that aren’t yet available in the Marketplace. To check out these extensions, visit our Hacktoberfest Github Repo. All of these extensions can be installed via the CLI, and you can visit our docs to learn how. Check out the latest Docker Extensions with Docker Desktop Docker is always looking for ways to improve the developer experience. We hope that these new extensions will make your life easier and that you’ll give them a try! Check out these resources for more info on extensions: Try October’s newest extensions by installing Docker Desktop for Mac, Windows, or Linux. Visit our Extensions Marketplace to see all of our extensions. Build your own extension with our Extensions SDK. View the full article
  7. Last week, the web and design team organised an internal Hacktoberfest. Our goal was simple: contribute to Open Source projects, understand what makes a great contribution experience, and how we could get inspired for our own projects. Here are 3-step guides from our experience during this Hacktoberfest. 1. What should I contribute to? Here are some quick tips for choosing a project. GitHub alone counts more than 40 million public repositories. If you are not involved in any open source projects, it can be quite overwhelming to choose where to start. Here are a few ideas to find where to contribute: Open source projects or libraries that you use every day Labels: “Good first issues”, “Hacktoberfest”, goodfirstissue.dev. A lot of projects use labels that can be used to filter issues for newcomers to projects. Most of the time those issues are small and simple tasks like fixing styling, fixing typos etc. Help translate! Some projects have systems in place to help non coders to translate without opening a code editor. Read documentation, is it up to date? Do you see typos? Open issues: contributing also comes with reporting bugs, usability issues etc. in a project. Talk about your week to your (tech) friends! They can help guide you through your first contribution 2. How should I run the project? Set clear steps and make it easy to start. How to run a project can be one of the biggest challenges. Every project has a different environment, and it can be quite challenging to find dependencies and what tools should be used. Clear and complete steps to run a project are an absolute requirement to attract newcomers to contribute to a project. It is easy to have your setup evolving on your machine but not update the developer documentation. Set up a virtual sandbox environment. GitHub has Codespaces that project owners can set up to run their projects on GitHub data centres. No need to install all those dependencies locally! To manage all of our projects, our team came up with a standard way to run our sites: dotrun. It provides a predictable sandbox for running Node and Python projects. Newcomers only require to install the project, as a snap or a pip package, and can start coding. 3. What about first time contributors? Create onboarding resources for first-timers. As a project owner, providing guidance is essential to break the barrier of entry for newcomers. Here are a few elements that we found during this week: First contribution documentation that provides information about the project, how to run it, what are the steps to contribute but also how it is structured in terms of code makes it simpler to start the task templates for your issues or pull/merge requests. This will make it easier for future contributors to know what the maintainers are looking for in terms of QA steps, for example. CI Tests (that work!) to help the contributor making sure they are not breaking any other section of the project Making sure contributors land on a safe place to contribute. Special mention, in README, release notes etc. to reward contributors Conclusion We open source and are so grateful to see so many projects taking the decision to work in the open. We hope this will help inspire contributors and owners to continue working this way. If you want to participate with us at the next Hacktoberfest, the webteam is hiring! View the full article
  8. Last week, the web and design team organised an internal Hacktoberfest. Our goal was simple: contribute to Open Source projects, understand what makes a great contribution experience, and how we could get inspired for our own projects. Here are 3-step guides from our experience during this Hacktoberfest. 1. What should I contribute to? Here are some quick tips for choosing a project. GitHub alone counts more than 40 million public repositories. If you are not involved in any open source projects, it can be quite overwhelming to choose where to start. Here are a few ideas to find where to contribute: Open source projects or libraries that you use every day Labels: “Good first issues”, “Hacktoberfest”, goodfirstissue.dev. A lot of projects use labels that can be used to filter issues for newcomers to projects. Most of the time those issues are small and simple tasks like fixing styling, fixing typos etc. Help translate! Some projects have systems in place to help non coders to translate without opening a code editor. Read documentation, is it up to date? Do you see typos? Open issues: contributing also comes with reporting bugs, usability issues etc. in a project. Talk about your week to your (tech) friends! They can help guide you through your first contribution 2. How should I run the project? Set clear steps and make it easy to start. How to run a project can be one of the biggest challenges. Every project has a different environment, and it can be quite challenging to find dependencies and what tools should be used. Clear and complete steps to run a project are an absolute requirement to attract newcomers to contribute to a project. It is easy to have your setup evolving on your machine but not update the developer documentation. Set up a virtual sandbox environment. GitHub has Codespaces that project owners can set up to run their projects on GitHub data centres. No need to install all those dependencies locally! To manage all of our projects, our team came up with a standard way to run our sites: dotrun. It provides a predictable sandbox for running Node and Python projects. Newcomers only require to install the project, as a snap or a pip package, and can start coding. 3. What about first time contributors? Create onboarding resources for first-timers. As a project owner, providing guidance is essential to break the barrier of entry for newcomers. Here are a few elements that we found during this week: First contribution documentation that provides information about the project, how to run it, what are the steps to contribute but also how it is structured in terms of code makes it simpler to start the task templates for your issues or pull/merge requests. This will make it easier for future contributors to know what the maintainers are looking for in terms of QA steps, for example. CI Tests (that work!) to help the contributor making sure they are not breaking any other section of the project Making sure contributors land on a safe place to contribute. Special mention, in README, release notes etc. to reward contributors Conclusion We open source and are so grateful to see so many projects taking the decision to work in the open. We hope this will help inspire contributors and owners to continue working this way. If you want to participate with us at the next Hacktoberfest, the webteam is hiring! View the full article
  9. Hacktoberfest 2022 Since the launch of Docker Extensions, we’ve received numerous requests from the community, asking for new extensions they’d like to see implemented. That’s why we’re glad to announce that we’ll be official partners of Hacktoberfest 2022 with Docker Extensions! Learn More News you can use and monthly highlights: Opinionated Docker development workflow for Node.js projects – Are you planning to containerize your Node.js project? Here’s a quick step-by-step guide for developing and testing your Node.js app using Docker and best practices. A command line tool to create development environments for AI/ML based on buildkit – Is your AI/ML development team still facing the challenge of system dependencies and clunky things that often break your app? If yes, then check out this new command line tool! Envd will help you create the container-based development environment for your AI/ML solution. The smallest Docker image to serve static websites – Would you believe us if we said you can host your website on a 154KB Docker container? See for yourself! Here’s an article that shows how you can successfully run a static website on such a tiny Docker container. Using Docker manifest to create multi-arch images on AWS Graviton processors – Building Docker images for multiple architectures has become increasingly popular. This blog post introduces a Docker manifest utility that helps developers build separate images for each architecture. These can then be joined into a multi-arch image when it’s time to share. Deploying and Scaling the Official Strapi Demo App “FoodAdvisor” with Kubernetes and Docker – Here’s an article that shows how a shift from the monolith to microservice architecture can help you build a highly scalable and performant application. Monthly Extensions Roundup: Test APIs, Use Oracle SQLcl, and More! Find out what’s new this month in the Docker Extension Marketplace! Access InterSystems, test APIs, use Oracle SQLcl, and backup/share volumes — right from Docker Desktop. Learn More The latest tips and tricks from the community: How to Colorize Black & White Pictures With OpenVINO™ on Ubuntu Containers Containerizing a Slack Clone App Built with the MERN Stack Four Ways Docker Boosts Enterprise Software Development Clarifying Misconceptions About Web3 and Its Relevance With Docker Bring Continuous Integration to Your Laptop With the Drone CI Docker Extension Community All-Hands Recap The sessions from our 6th Community All-Hands are now available to watch on-demand. If you couldn’t make it to the event, fear not! You can still join in and learn at your own pace. Here’s what you missed. Get the Recap Educational content created by the experts at Docker: How to Set Up Your Local Node.js Development Environment Using Docker How to Build and Run Next.js Applications with Docker, Compose, & NGINX How to Use the Alpine Docker Official Image What is the Best Container Security Workflow for Your Organization? Dear Moby: Kubernetes in Production Environments Docker Captain: James Spurin We couldn’t be more excited to whalecome James Spurin to the Captain crew. Learn more about his free K8s intro course focused on community giveback, his goals for the Docker community, and a few of his favorite Dockerfile best practices. Meet the Captain See what the Docker team has been up to: Extending Docker’s Integration with containerd The Docker-Sponsored Open Source Program has a new look! Integrated Terminal for Running Containers, Extended Integration with Containerd, and More in Docker Desktop 4.12 Announcing Docker Hub Export Members Conversation with RedMonk: Developer Engagement in the Remote Work Era Back Up and Share Docker Volumes with This Extension We’ve heard your feedback and added the ability to back up and share volumes right within Docker Desktop! Our new Volumes Backup & Share Extension lets you easily back up, clone, restore, and share Docker volumes. Learn More Subscribe to our newsletter to get the latest news, blogs, tips, how-to guides, best practices, and more from Docker experts sent directly to your inbox once a month. View the full article
  10. Happy Friday! Our community continues to deliver interesting content. From PowerApps to VS Code, from secret scanning to cleaner YAML configurations, there’s lots to learn. Using Azure DevOps to Build and Deploy Multiple PCF Controls Tae joins us to share a CI pipeline for PCF Controls for PowerApps! Secret Scanning – Protecting your code in Azure DevOps Mark describes one way to implement secret scanning for your project. Hacktoberfest: How I Bundled & Published A VS Code Extension With Webpack And Azure DevOps Juan walks through his process for building and publishing a VS Code extension with Azure DevOps. Shrink your Azure Devops YAML pipelines Want to simplify your YAML pipelines? Damien has some ideas for you. If you’ve written an article about Azure DevOps or find some great content about DevOps on Azure, please share it with the #AzureDevOps hashtag on Twitter! The post Top Stories from the Microsoft DevOps Community – 2020.10.02 appeared first on Azure DevOps Blog. View the full article
  • Forum Statistics

    43.9k
    Total Topics
    43.4k
    Total Posts
×
×
  • Create New...