Post something amazing. ✨
Camphouse is a simple, open-source, and self-hosted social media platform. It is designed to be easy to use and easy to deploy. It is built with Node.js, MongoDB, and Vue.js. It was originally called Aqurilla, but was renamed to Camphouse in 2023.
To get a local copy up and running follow these simple steps.
Before starting with the installation, ensure that the following prerequisites are installed and properly configured on your system.
Follow the steps below for installation and setup:
Clone the repo
gh repo clone VMGWARE/Camphouse
Navigate into the project directory
cd Camphouse
Copy the .env.example
file and rename it to .env
.
cp .env.example .env
Open the .env
file with your favorite text editor and fill in the configuration details.
# Application configuration
APP_PORT=3000 # The port on which the app will run.
SESSION_SECRET=<your_secret> # A secret string used to secure user sessions.
# Database configuration
DB_NAME=camphouse # The name of your MongoDB database.
DB_HOST=localhost # The host where your MongoDB server is running.
DB_PORT=27017 # The port on which your MongoDB server is accessible.
DB_USER=<db_username> # The username for your MongoDB database.
DB_PASS=<db_password> # The password for your MongoDB database.
# JWT
JWT_SECRET=<jwt_secret> # A secret string used to sign JSON Web Tokens.
# Admin
ADMIN_HANDLE=<admin_handle> # The handle for the initial admin account.
ADMIN_EMAIL=<admin_email> # The email address for the initial admin account.
ADMIN_PASSWORD=<admin_password> # The password for the initial admin account.
ADMIN_USERNAME=<admin_username> # The username for the initial admin account.
# Sentry
SENTRY_DSN=<sentry_dsn> # The DSN for your Sentry project.
# Storage
MINIO_ACCESS_KEY=<minio_key> # The access key for your MinIO server.
MINIO_SECRET_KEY=<minio_secret> # The secret key for your MinIO server.
MINIO_BUCKET=<minio_bucket> # The name of the bucket to store images in.
MINIO_ENDPOINT=<minio_endpoint> # The endpoint for your MinIO server.
LOCAL_STORAGE=<true/false> # Whether to store images locally. If MinIO is configured, this will be ignored.
Replace the placeholder text (e.g., <your_secret>
, <db_username>
) with your actual information. Keep these details confidential.
Continue with the installation of NPM packages and starting the servers as provided in the original guide.
cd frontend
npm install
cd ../backend
npm install
Start the backend server:
cd backend
npm run start
Start the frontend server:
cd frontend
npm run serve
http://localhost:8080
.Pull the image
docker pull insidiousfiddler/camphouse
Run the container with your database credentials
docker run -d -p 8000:80 insidiousfiddler/camphouse -e DB_HOST=<host> -e DB_PORT=<port> -e DB_NAME=<database> -e DB_USER=<username> -e DB_PASS=<password> -e SESSION_SECRET=<secret> -e JWT_SECRET=<secret>
Visit the site at http://127.0.0.1:8000
A Quick warning. If you have LOCAL_STORAGE set to true. Make sure to assign a volume to the /usr/local/api/public/storage
path. Otherwise, you will lose all your images when you restart the container.
See the open issues for a list of proposed features (and known issues).
Distributed under the CC BY-NC-SA 4.0
License. See LICENSE
for more information.
Contributions are welcome! If you encounter any issues or have improvements to suggest, feel free to open an issue or submit a pull request.
For any questions or suggestions, please feel free to contact the author. You can also find more information about the author below.
A VMG Ware Project.