Set up the server (Ubuntu 24.04) for JAM-Stack WordPress + Docker
Subdomain: pitrimka.selector.space → installation of the latest version of WordPress (the subdomain is already configured to work on this server)
1. Initial data
- Server: Ubuntu 24.04, clean installation.
- User with sudo: spacy
- Docker + Docker Compose are already installed.
- A complete infrastructure for Headless WordPress JAM-stack is needed:
- Nginx (reverse proxy)
- WordPress (php-fpm)
- MariaDB or PostgreSQL
- Node.js container (will be used later)
- DNS for the subdomain pitrimka.selector.space will be configured on my side.
2. Tasks
2.1. Docker infrastructure
It is necessary to:
1. Create the project folder /var/www/jamstack/
2. Set up the structure:
/nginx
/wordpress
/db
/node
docker-compose.yml
3. Prepare docker-compose.yml, which includes:
Containers:
- nginx (reverse proxy + SSL termination)
- wordpress (php-fpm, without Apache)
- db (MariaDB or PostgreSQL — to be specified)
- certbot (automatic SSL)
- node (will be used in the future)
4. Create volumes for persistent storage:
wp-content
db-data
logs
2.2. Nginx configuration
• Reverse proxy → WordPress (port 9000 or 8000)
• HTTP → HTTPS redirect
• Enable HSTS
• Optimal security headers
• Rate limit to protect against bots
• Separate access and error logs
2.3. SSL
• Install Let’s Encrypt via Docker-Certbot
• Automatic renewal of certificates
• Check HTTPS functionality
2.4. WordPress (php-fpm)
• Install the latest version of WordPress
• Create a custom Dockerfile for PHP:
• extensions: mysqli, curl, zip, gd, mbstring, xml, imagick
• Strict memory limits (512M)
• Configure user/group under the UID of the spacy user
• Move wp-content to volume
2.5. Database
• Specify the root password in .env
• Configure volume
• Optimize parameters (innodb_buffer_pool, max_connections)
2.6. Domain and subdomain
• Config:
• pitrimka.selector.space → WordPress
• Check:
• the site opens via HTTPS
• wp-admin works
• header forwarding for REST API (CORS → allow future frontend)
3. Expected result
A fully functional JAM-stack environment:
• ✔ Docker infrastructure is up
• ✔ WordPress runs via docker-php-fpm
• ✔ Nginx reverse proxy + HTTPS
• ✔ Automatic SSL certificates
• ✔ REST API accessible from external Next.js/Nuxt frontend
• ✔ Database in a separate container
• ✔ Everything works stably after server reboot
4. Access
After starting work, I will provide:
• SSH access to the server
• Root rights via sudo
6. Submission format - provide
• Complete docker-compose.yml
• Dockerfile for WordPress
• Nginx configs
• Instructions on “how to restart all containers”
• Brief description of the architecture
• SSL installation logs
• Verification: the site opens → https://pitrimka.selector.space
-
186 I understood the task and can start working on it. The only thing is - please specify the PHP version and whether additional CLI configuration will be needed? You can send the answer privately.
-
4873 107 0 Hello, Mykola.
I professionally engage in turnkey website development on WORDPRESS. I have my own library of ready-made solutions that speeds up the work time.
I am ready to discuss the details and start the execution. The final price/timeframe will be determined after all clarifications.
Profile:Freelancehunt
Reviews:Freelancehunt
-
223 1 0 Good day, I have experience with Docker infrastructure, I will deploy the environment using Docker Compose, everything will be according to your technical specifications with a good work report, feel free to contact me!
-
373 Hello, I am ready to take on your project. More than four years of experience working as a DevOps engineer. I would be happy to discuss the details.
For your project, I would suggest Traefik as a reverse proxy with automatic renewal of free SSL certificates, it will be as a separate container in the project for Docker Compose.
-
3306 180 0 Good evening.
I am ready to set up your infrastructure according to the task. Write to me. Thank you.
-
928 13 0 Good day
DevOps with more than 5 years of experience.
Ready to set up this infrastructure for you, write to me privately to discuss everything and I will start working on it.
-
840 18 2 1 Okay, I understand the task. I can prepare a ready Docker JAM-stack infrastructure for Headless WordPress on Ubuntu 24.04 with Nginx reverse proxy, php-fpm, MariaDB/PostgreSQL, Node.js, and automatic SSL via certbot.
The result will include:
A complete docker-compose.yml with containers: nginx, wordpress (php-fpm), db, node, certbot.
A Dockerfile for WordPress with the necessary PHP extensions and a memory limit of 512M.
Nginx configurations: reverse proxy, HTTPS redirect, HSTS, security headers, rate limiting, separate logs.
…
Volumes for wp-content, db-data, logs.
.env for confidential data (database password).
Verification of REST API and CORS for the future frontend.
Instructions for restarting all containers.
A brief overview of the architecture and SSL log.
After receiving SSH access with sudo, I can build and run everything on the subdomain pitrimka.selector.space so that WordPress works entirely through php-fpm, Nginx serves HTTPS, and the frontend (Next.js/Nuxt) can access the REST API.
If needed, I can immediately prepare a sample docker-compose.yml + Dockerfile for testing on your server.
-
6512 229 4 7 Hello
I will set it up now
Write in private messages
___________________________
Current freelance projects in the category Web Programming
Making edits to the website (WP, Elementor)Good day. We need to make 2 changes to the website: 1. The main menu "jumps" when hovering the cursor, plus in the Ukrainian version it is vertically centered (as it should be), while in the Russian version it is not centered, at the top. We need to center the Russian version… Web Programming ∙ 46 minutes back ∙ 24 proposals |
It is necessary to modernize the admin panel in Open Cart for convenience.Technical assignment for configuring/improving OpenCart 1. Catalog → Products Task 1. Add a "Category" column to the product list Task 2. Add a "SKU" column to the product list Task 3. Add a "Creation date and time of the product" column Task 4. Quick edit of main product data… Web Programming ∙ 1 hour 3 minutes back ∙ 25 proposals |
Improvement of the catalog for the websiteFor the catalog website, improvements need to be made: (the work can be divided into stages or taken by qualification part) 1. In the admin panel, the ability to upload SQL files for updating prices (in the archive it is price_balluff_2026_for_site.sql). (currently they are… AI Content Creation, Web Programming ∙ 1 hour 11 minutes back ∙ 14 proposals |
WhatsApp Business API / Meta Cloud API.Hello. I need help with the official connection of WhatsApp Business API / Meta Cloud API. The situation is as follows: I already have a working WhatsApp Business number. It is currently used on a phone in the WhatsApp Business app. I do not want to delete the app, transfer the… Web Programming ∙ 1 hour 55 minutes back ∙ 12 proposals |
Shopify accountsI'm looking for a person to set up an existing children's furniture store; the store has not yet been operational but is partially filled. Web Programming ∙ 2 hours 9 minutes back ∙ 12 proposals |