{"id":20185560,"url":"https://github.com/maur1th/naxos-forum","last_synced_at":"2025-04-10T06:15:27.226Z","repository":{"id":20913958,"uuid":"24201805","full_name":"maur1th/naxos-forum","owner":"maur1th","description":"Django-based bulletin board","archived":false,"fork":false,"pushed_at":"2024-10-05T19:05:04.000Z","size":2749,"stargazers_count":4,"open_issues_count":16,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T07:26:42.418Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maur1th.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2014-09-18T19:24:04.000Z","updated_at":"2025-03-05T18:07:39.000Z","dependencies_parsed_at":"2024-06-21T08:27:12.094Z","dependency_job_id":null,"html_url":"https://github.com/maur1th/naxos-forum","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maur1th%2Fnaxos-forum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maur1th%2Fnaxos-forum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maur1th%2Fnaxos-forum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maur1th%2Fnaxos-forum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maur1th","download_url":"https://codeload.github.com/maur1th/naxos-forum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166853,"owners_count":21058481,"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":[],"created_at":"2024-11-14T03:13:52.325Z","updated_at":"2025-04-10T06:15:27.195Z","avatar_url":"https://github.com/maur1th.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Naxos-Forum\n\n## Purpose\n\nBulletin board project created to replace a [CoolForum](https://github.com/dsoriano/coolforum) solution. (Including DB migration script.) Comes with a light community blog.\n\nMade in Python 3. Backend mostly based on Django, PostgreSQL and memcached. Frontend in BootStrap + JQuery. Node.js + Socket.io for some realtime capabilities. Deploys with Docker \u0026 Ansible.\n\n## Getting started\n\n### Prerequisite\n\nInstall [Docker](https://www.docker.com/community-edition)\n\n### Starting a development environment\n\nThe development environment uses `docker-compose`, more information on the CLI usage [here](https://docs.docker.com/compose/reference/).\n\n```bash\ndocker-compose up -d          # Start environment\ndocker-compose logs -f        # Read all components logs\ndocker-compose logs -f forum  # Read forum component logs\ndocker-compose exec forum sh  # Execute an interactive shell on the forum container\n```\n\nThe development server is accessible at: \u003chttp://localhost:8080\u003e.\n\n### Stopping a development environment\n\n```bash\ndocker-compose down              # Stop environment (add -v to delete the volumes)\ndocker volume ls                 # List volumes\ndocker volume rm naxos_forum-db  # Delete the db\n```\n\n### Fixtures\n\nInitial data (fixtures) is provided and installed automatically by `docker-entrypoint.sh`.\n\nOut of the box, you will be able to log in using those credentials:\n\n- Username: \"admin\"\n- Password: \"crimson\"\n\n#### Create new fixtures\n\n```sh\npython3 manage.py dumpdata --natural-foreign \\\n   --exclude auth.permission --exclude contenttypes \\\n   --indent 4 \u003e data.json\n```\n\n## Building\n\n### Update dependencies\n\n```bash\npipenv run pip install setuptools==57.5.0\npipenv install\npipenv update\npipenv requirements \u003e requirements.txt\n```\n\n### Docker image\n\n```bash\ndocker build --build-arg VERSION=\"$(git rev-parse HEAD)\" --tag maur1th/naxos-forum app/forum \u0026\u0026 \\\ndocker build --build-arg VERSION=\"$(git rev-parse HEAD)\" --tag maur1th/naxos-websocket app/websocket \u0026\u0026 \\\ndocker tag maur1th/naxos-forum maur1th/naxos-forum:\"$(git rev-parse HEAD)\" \u0026\u0026 \\\ndocker tag maur1th/naxos-websocket maur1th/naxos-websocket:\"$(git rev-parse HEAD)\" \u0026\u0026 \\\ndocker push maur1th/naxos-forum \u0026\u0026 \\\ndocker push maur1th/naxos-forum:\"$(git rev-parse HEAD)\" \u0026\u0026 \\\ndocker push maur1th/naxos-websocket \u0026\u0026 \\\ndocker push maur1th/naxos-websocket:\"$(git rev-parse HEAD)\"\n```\n\n## Deployment\n\n### Application\n\n```bash\n# Deploy latest Docker images\n$ ansible-playbook -i hosts --vault-password-file=~/.vault_pass playbook.yml\n# Deploy specific commit\n$ ansible-playbook -i hosts --vault-password-file=~/.vault_pass playbook.yml -e \"app_version=\u003cversion\u003e\"\n```\n\n### Static files\n\n```bash\ndocker-compose run -e LOCAL_ENV=0 -e AWS_STORAGE_BUCKET_NAME=geekattitude -e AWS_ACCESS_KEY_ID=foo -e AWS_SECRET_ACCESS_KEY=bar --entrypoint \"python3 manage.py collectstatic --no-input\" forum\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaur1th%2Fnaxos-forum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaur1th%2Fnaxos-forum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaur1th%2Fnaxos-forum/lists"}