# Creating webserver

> If you want to host your bot on replit or similiar service you need to create webserver for your project to make your project pingable. It means that you need to have there very simple website which will be pinged by Pinglik Uptimer so your project will stay online for 24/7. Here you can find example codes of webservers.

## *`NodeJS Express webserver`*

```javascript
// express Pinglik webserver example code
const express = require("express");
const app = express();
const port = process.env.PORT || 3000;

app.get("/", (req, res) => {
  res.send(
    "<code>Hello, this project is using <a href='https://uptimer.pinglik.eu' target='_blank'>Pinglik Uptimer</a>!<br>Our website: <a href='https://pinglik.eu' target='_blank'>pinglik.eu</a></code>"
  );
});

app.listen(port, () => {
  console.log(`📡 Pinglik webserver has started!`);
});
```

## *`Python Flask webserver`*

```python
# flask Pinglik webserver example code

from flask import Flask
from threading import Thread

app = Flask(__name__)

@app.route('/')
def main():
    return "<code>Hello, this project is using <a href='https://uptimer.pinglik.eu' target='_blank'>Pinglik Uptimer</a>!<br>Our website: <a href='https://pinglik.eu' target='_blank'>pinglik.eu</a></code>"

def run():
    app.run(host="0.0.0.0", port=3000)

def keep_alive():
    server = Thread(target=run)
    server.start()
    print("📡 Pinglik webserver has started!")

keep_alive()
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.uptimer.pinglik.eu/guides/creating-webserver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
