{"id":19093629,"url":"https://github.com/abbybot/abbybot-api","last_synced_at":"2026-05-08T13:04:41.918Z","repository":{"id":259324023,"uuid":"847104949","full_name":"AbbyBot/AbbyBot-API","owner":"AbbyBot","description":"AbbyBot web API for webpage and data.","archived":false,"fork":false,"pushed_at":"2024-12-08T01:54:46.000Z","size":413,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-24T05:46:12.223Z","etag":null,"topics":["api","api-gateway","bot-api","discord-api","discord-bot","discord-bot-api","dotenv","flask","mysql","requests"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbbyBot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-24T21:31:29.000Z","updated_at":"2024-12-07T00:53:13.000Z","dependencies_parsed_at":"2024-10-24T12:08:55.838Z","dependency_job_id":"4f78f1a8-0a40-49e3-85db-f09e22bd609a","html_url":"https://github.com/AbbyBot/AbbyBot-API","commit_stats":null,"previous_names":["abbybot/abbybot-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbbyBot%2FAbbyBot-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbbyBot%2FAbbyBot-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbbyBot%2FAbbyBot-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbbyBot%2FAbbyBot-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbbyBot","download_url":"https://codeload.github.com/AbbyBot/AbbyBot-API/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232269202,"owners_count":18497450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-gateway","bot-api","discord-api","discord-bot","discord-bot-api","dotenv","flask","mysql","requests"],"created_at":"2024-11-09T03:25:30.689Z","updated_at":"2026-05-08T13:04:41.906Z","avatar_url":"https://github.com/AbbyBot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![AbbyBot-Api](https://github.com/user-attachments/assets/d17a12fc-bb64-4b7c-88dc-529505f1a5c6)\n\n\nThis API is an integral component of the AbbyBot project, providing comprehensive data services related to Discord bot servers, users, and bot-specific information.\n\n## Requirements file\n\n```\nrequirements.txt\n```\n\n\nMake sure you have all the necessary packages installed by running:\n\n```\npip install -r requirements.txt\n```\n\n## Environment Variables\n\nThe environment variables required for the API are now included in the `.env.example` file. You can use this file as a template to create your own `.env` file.\n\n```bash\n# Copy the example file to create your .env file\ncp .env.example .env\n```\n\nMake sure to update the values in the `.env` file with \nyour specific configuration.\n\n1. Clone the repository and navigate to the folder.\n2. Set up your `.env` file with the appropriate values.\n\n## Running the API (Development)\n\n3. Run the Flask application (development mode):\n```\npython main.py\n```\n\n\u003e The API will be available at `http://127.0.0.1:5002/`.\n\n\u003cdiv align=\"center\"\u003e\n\n  ## Endpoints list\n\n  \u003ca href=\"https://api.abbybotproject.com/docs\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/View%20Endpoints-API%20Docs-4caf50?style=flat-square\u0026logo=read-the-docs\u0026logoColor=white\" alt=\"View Endpoints\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Running the API (Production)\nFor greater ease, this API can be deployed using Docker along with Docker Compose.\n\nThis Docker setup is specifically designed for production, not for development. It will expose a port on the server, specifically **5002**.\n\nAs mentioned, this is for production, so the first step would be to clone the repository on your server in a folder appropriate for the HTTP server you are using, such as Apache or Nginx.\n\nSteps to build and run the container:\n\n1. Make sure you have completed the previous step of creating the `.env` file based on `.env.example` and filling it with your actual variables.\n\n2. Execute the following command:\n\n```\nsudo docker compose build\n```\n\n3. The blue whale 🐳 will start building the API container, copying all the files, including the `.env`. For this reason, the `.env` file must be created before starting the Docker build process.\n\n4. If everything went well, the terminal will display messages like the following:\n\n```\n[+] Building 1/1\n ✔ web  Built       \n```\n\nIf you see \"built,\" it indicates that the build was successful.\n\n5. To start the Docker container, simply run:\n\n```\nsudo docker compose up -d\n```\n\n\u003e Note: We add the `-d` flag to run the container in the background on your server.\n\n6. If everything went well, the terminal will return to showing your username as usual. The next step will be to set up a reverse proxy using your HTTP server, such as Apache or Nginx.\n\n## Reverse Proxy Setup\n\nTo set up a reverse proxy for port **5002**, you can use either Apache or Nginx. Below are examples for both:\n\n### Apache\n1. Enable the required modules:\n  ```bash\n  sudo a2enmod proxy proxy_http\n  sudo systemctl restart apache2 #or httpd\n  ```\n2. Add the following to your Apache configuration file:\n  ```apache\n  \u003cVirtualHost *:80\u003e\n     ServerName yourdomain.com\n     ProxyPass / http://127.0.0.1:5002/\n     ProxyPassReverse / http://127.0.0.1:5002/\n  \u003c/VirtualHost\u003e\n  ```\n3. Restart Apache:\n  ```bash\n  sudo systemctl restart apache2 #or httpd\n  ```\n\n### Nginx\n1. Add the following to your Nginx configuration file:\n  ```nginx\n  server {\n     listen 80;\n     server_name yourdomain.com;\n\n     location / {\n        proxy_pass http://127.0.0.1:5002;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n     }\n  }\n  ```\n2. Test and reload Nginx:\n  ```bash\n  sudo nginx -t\n  sudo systemctl reload nginx\n  ```\n\nReplace `yourdomain.com` with your actual domain name.\n\n- AbbyBotProject team","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabbybot%2Fabbybot-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabbybot%2Fabbybot-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabbybot%2Fabbybot-api/lists"}