Add docker image

This commit is contained in:
2024-09-08 19:46:41 +10:00
parent cd848fe6aa
commit 2007232aea
5 changed files with 125 additions and 2 deletions
+76
View File
@@ -0,0 +1,76 @@
# URL Manager
URL Manager is a Django-based web application for managing and tracking short URLs.
## Features
- Create, edit, and delete short URL links
- Track click statistics for each link
- Search functionality for quick access to links
- Internationalization support (English and Simplified Chinese)
- Responsive design using Tailwind CSS
## Prerequisites
- Docker and Docker Compose
## Installation and Setup with Docker
1. Clone the repository:
```
git clone https://github.com/yourusername/url-manager.git
cd url-manager
```
2. Build the Docker image:
```
docker build -t url-manager .
```
3. Create a Docker volume for persistent database storage:
```
docker volume create url-manager-data
```
4. Run the Docker container:
```
docker run -d --name url-manager-container -p 8000:8000 -v url-manager-data:/app/data url-manager
```
5. Initialize the database and create a superuser:
```
docker exec -it url-manager-container python manage.py migrate
docker exec -it url-manager-container python manage.py createsuperuser
```
6. Open your web browser and navigate to `http://localhost:8000` to access the application.
## Usage
- To create a new short URL, click on the "Create New Link" button on the home page.
- To edit or delete a link, use the corresponding buttons in the link list.
- To view detailed statistics for a link, click on the "Details" button.
- Use the search bar in the navigation to quickly find links by alias or original URL.
## Admin Interface
To access the admin interface:
1. Go to `http://localhost:8000/admin`
2. Log in with the superuser account you created earlier
## Changing the Language
To switch between English and Simplified Chinese, use the language selector in the navigation bar.
## Persistent Data
The SQLite database is stored in the Docker volume `url-manager-data`. This ensures that your data persists even if the container is stopped or removed. To backup your data, you can copy the contents of this volume.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License.