{"id":21359918,"url":"https://github.com/ujstor/self-hosting-apps-home-network","last_synced_at":"2026-04-11T21:45:32.915Z","repository":{"id":211516256,"uuid":"729360670","full_name":"Ujstor/self-hosting-apps-home-network","owner":"Ujstor","description":"Managing Docker containers through an Nginx reverse proxy and securing connections with SSL","archived":false,"fork":false,"pushed_at":"2023-12-13T16:16:46.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T18:51:53.241Z","etag":null,"topics":["docker","docker-compose","nginx","nginx-docker","nginx-proxy","reverse-proxy","ssl","ssl-certificates"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/Ujstor.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":"2023-12-09T02:01:54.000Z","updated_at":"2023-12-09T02:30:18.000Z","dependencies_parsed_at":"2025-01-22T18:55:28.085Z","dependency_job_id":null,"html_url":"https://github.com/Ujstor/self-hosting-apps-home-network","commit_stats":null,"previous_names":["ujstor/self-hosting-apps-home-network"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ujstor%2Fself-hosting-apps-home-network","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ujstor%2Fself-hosting-apps-home-network/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ujstor%2Fself-hosting-apps-home-network/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ujstor%2Fself-hosting-apps-home-network/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ujstor","download_url":"https://codeload.github.com/Ujstor/self-hosting-apps-home-network/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243835946,"owners_count":20355610,"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":["docker","docker-compose","nginx","nginx-docker","nginx-proxy","reverse-proxy","ssl","ssl-certificates"],"created_at":"2024-11-22T05:30:46.679Z","updated_at":"2026-04-11T21:45:27.870Z","avatar_url":"https://github.com/Ujstor.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Self-Hosting Apps on a Home Network\n\nIf you have reasons for not purchasing and using a Virtual Private Server (VPS), such as [Hetzner](https://hetzner.cloud/?ref=Ix9xCKNxJriM) (€⁠20 in cloud credits us if link is used), which is both affordable and reliable at just $5 a month and can be set up with a free Continuous Deployment pipeline like [Coolify](https://coolify.io/docs/), then this repository is ideal for self-hosting on your local machine It focuses on running various applications within Docker containers, managing them through an [Nginx reverse proxy](https://nginxproxymanager.com/guide/#hosting-your-home-network), and securing connections with SSL.\n\n### Applications Hosted:\n1. **Static Website:** A Go-based web application.\n2. **Notes App:** A Flask application with SQLite.\n3. **Go App with PostgreSQL:** A Go application utilizing a PostgreSQL database.\n\n### Prerequisites:\n- Basic understanding of Docker, Nginx, and network configurations.\n- A PC with Docker installed, ready to host applications.\n- Access to your home network router for port configurations.\n\n## Initial Setup Steps\n1. **Buy a DNS Domain:**\n   - Purchase a domain name from a registrar (e.g., GoDaddy, Namecheap).\n   - Configure DNS settings to point to your home network IP.\n\n2. **Configure Router:**\n   - Open ports 80 and 443 to allow web traffic.\n   - Locate the Port Forwarding section in your router settings and add entries for these ports.\n\n3. **Docker Setup:**\n   - Ensure Docker and Docker Compose are installed on your PC.\n   - Use the provided `docker-compose.yml` to set up your environment.\n\n\n## Nginx Proxy Manager\nNginx Proxy Manager acts as the gateway to your applications. Use it to create forwarding domains, redirections, and manage SSL.\n\n### Initial Access:\n- Access the Nginx dashboard on http://localhost:81\n- After the first login, change your admin details and password.\n- Default login credentials\n\n```bash\nEmail:    admin@example.com\nPassword: changeme\n``` \n\n### SSL Configuration:\n- Utilize Let's Encrypt for free SSL or provide your custom SSL certificates.\n- SSL is automatically handled for your domains configured in Nginx.\n\n## Running the Applications\n1. **Initial Run:**\n   - On the first run, GPG keys are generated, and the database initializes.\n   - A default admin user is created for Nginx Proxy Manager.\n   - This process may take a few minutes.\n\n2. **Starting the Services:**\n   - Run `docker-compose up` to start all services.\n   - Ensure each service is correctly configured and running.\n\n3. **Configuring Services:**\n   - Use the Nginx dashboard to point your domain to the respective Docker containers.\n   - Ensure proper network connectivity between Docker services.\n\n\n4. **Security and Maintenance:**\n   - Regularly update your Docker images and Nginx configurations.\n   - Monitor your network for any unusual activity.\n\n## Conclusion\nThis setup allows you to host various applications securely and efficiently from your home network. Always ensure your configurations are secure and up-to-date. For detailed configurations and troubleshooting, refer to application documentation.\n\n ![docker](https://i.imgur.com/mWcuSkO.png)\n\n ![nginx](https://i.imgur.com/CCvnfTW.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fujstor%2Fself-hosting-apps-home-network","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fujstor%2Fself-hosting-apps-home-network","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fujstor%2Fself-hosting-apps-home-network/lists"}