Accessing Settings
- In the sidebar, click Projects
- Find and click on the project name you want to edit
- On the project page, click the "Edit" button in the top right corner
Note: Whitelist and blacklist are exclusive to HTTP projects. Databases do not offer whitelist or blacklist.
Available Settings
Project Name
The project name can be changed at any time.
Rules:
- Minimum: 6 characters
- Maximum: 32 characters
- Only lowercase letters, numbers, and hyphens
Note: Changing the name does not affect the existing subdomain.
Project Description
The project description can be changed at any time.
Characteristics:
- Optional field to describe the project purpose
- Helps identify and organize your projects
- Can include information such as technology used, client, or purpose
Project Image
The OCI image used by the project can be updated.
How to update:
-
In the image section, enter the new image in the format:
docker.io/nginxinc/nginx-unprivileged:stable-alpineFor NGINX, use the
nginxinc/nginx-unprivilegedimage because OCI images on Zenifra should not run the main process asroot.
Limitations:
- Cannot change the image authentication type (public/private)
- Private image must remain private
- Public image must remain public
Tip: To automatically update the image via GitHub Actions, check our automatic deployment tutorial.
Build and Start Commands (GitHub Projects)
If the project was created with GitHub Repository as the source, you can edit the pre-build, build, and start commands even after creation.
When this is useful:
- Adjust the build flow after changing the framework or repository structure
- Fix installation commands before a new deployment
- Change the startup command without recreating the project
Command examples:
pre-build: npm install
build: npm run build
start: npm run startNote: This option applies to projects based on
GitHub Repository. Projects published from an OCI image do not use these commands on this screen.
Environment Variables (ENVs)
Environment variables can be added, edited, or removed.
Characteristics:
- Limit of 50 ENVs per project
- Instances are automatically restarted when changing ENVs
- Use ENVs for sensitive configurations like API keys and database passwords
ENV examples:
DATABASE_URL=postgres://user:pass@host:5432/db
API_KEY=your-api-key-here
NODE_ENV=productionNote: In addition to the ENVs you define, Zenifra can also inject operational variables automatically, such as
ZENIFRA_INSTANCE_VERSION, which is useful for distinguishing versions in logs and troubleshooting.
Whitelist (Allow List)
The whitelist defines which IP addresses can access the project.
Characteristics:
- Non-listed IPs will be blocked
- CIDR format:
192.168.1.0/24or10.0.0.1/32 - Maximum of 10 entries in the whitelist
How to add your IP: Click "Add Current IP" to automatically include your IP address.
CIDR format:
0.0.0.0/0- Allows all IPsXXX.XXX.XXX.XXX/32- Specific IPXXX.XXX.XXX.XXX/YY- IP block
Note: Changing the whitelist does not restart instances.
Blacklist (Block List)
The blacklist defines IPs that will be blocked even if they are on the whitelist.
Characteristics:
- Blocked IPs will not have access to the project
- Useful for blocking malicious IPs
- Maximum of 10 entries in the blacklist
Note: Changing the blacklist does not restart instances.
Number of Instances
You can increase or decrease the number of project instances.
Limits:
- Minimum: 1 instance
- Maximum: 10 instances
To increase the limit: Contact support if you need more than 10 instances.
Impact:
- More instances = greater processing capacity
- More instances = higher cost
- Traffic is distributed among instances
Project Actions
Stop the Project
When stopping the project:
- Instances are stopped
- Ephemeral storage is deleted
- The project cannot be accessed
- For hourly projects, billing is stopped
When to use:
- When you don't need the application temporarily
- To save costs on hourly projects
Start the Project
To start a stopped project:
- Instances are started again
- Ephemeral storage is recreated
- The project becomes accessible again
- Billing resumes (for hourly projects)
Disable Automatic Renewal
Only for monthly or annual contract projects
In this case, the correct behavior is to prevent automatic contract renewal:
- the project remains active until the end of the contracted period
- after expiration, the contract is not renewed
- the flow is handled in the project edit page
Note: For hourly payment projects, this option is not available. Use "Stop Project" to interrupt billing.
Delete the Project
Deletion is permanent and irreversible.
What happens:
- All instances are removed
- All data is deleted
- Storage is freed
- API Keys are revoked
Requirements:
- The project cannot have an active plan
- For contracts, wait for expiration
Next Steps
FAQ
Can I change the project plan?
Yes. If the payment model is hourly, you can change the plan at any time. For monthly or yearly contracts, changes are only allowed at the end of the contract period.
Does changing ENVs cause downtime?
Yes. Instances are restarted to apply new environment variables. Plan changes during low-traffic hours.
Can I restore a deleted project?
No. Deletion is permanent. Make sure to backup your data before deleting.
Can I change the pre-build, build, and start commands later?
Yes. In projects that use GitHub Repository as the source, these commands can be edited after project creation.
Can I change the persistence directory later?
No. The path defined during project creation for persistent storage remains fixed after the project is created.
Does Zenifra inject any ENV automatically?
Yes. One example is ZENIFRA_INSTANCE_VERSION, which identifies the deployed instance version and can be used in your code to distinguish logs and releases.
What happens to data when stopping the project?
- Persistent data: Kept
- Ephemeral data: Deleted
We recommend using persistent storage for important data.